2026-05-30 00:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 5, 510936, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16533, 'low': 1.16533, 'close': 1.16533, 'volume': 1.0} | asctime='2026-05-30 00:00:05'
2026-05-30 00:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 5, 513575, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16665, 'high': 1.16665, 'low': 1.16665, 'close': 1.16665, 'volume': 1.0} | asctime='2026-05-30 00:00:05'
2026-05-30 00:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 5, 515103, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16543, 'high': 1.16571, 'low': 1.1653, 'close': 1.16533, 'volume': 12.0} | asctime='2026-05-30 00:00:05'
2026-05-30 00:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 5, 515617, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16699, 'high': 1.16699, 'low': 1.16661, 'close': 1.16665, 'volume': 12.0} | asctime='2026-05-30 00:00:05'
2026-05-30 00:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 5, 517052, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16554, 'high': 1.16591, 'low': 1.16515, 'close': 1.16533, 'volume': 66.0} | asctime='2026-05-30 00:00:05'
2026-05-30 00:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 5, 517532, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1671, 'high': 1.1671, 'low': 1.16641, 'close': 1.16665, 'volume': 66.0} | asctime='2026-05-30 00:00:05'
2026-05-30 00:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 5, 455000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 00:00:05'
2026-05-30 00:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 5, 820000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 00:00:05'
2026-05-30 00:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 6, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 00:00:06'
2026-05-30 00:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 6, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 00:00:06'
2026-05-30 00:00:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 7, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 00:00:07'
2026-05-30 00:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 9, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16581, 'volume': 0.0} | asctime='2026-05-30 00:00:09'
2026-05-30 00:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 9, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 00:00:09'
2026-05-30 00:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 9, 296000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 00:00:09'
2026-05-30 00:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 10, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 00:00:10'
2026-05-30 00:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 10, 414000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 00:00:10'
2026-05-30 00:00:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 11, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 00:00:11'
2026-05-30 00:00:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 19, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 00:00:19'
2026-05-30 00:00:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 31, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 00:00:31'
2026-05-30 00:00:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 33, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:00:33'
2026-05-30 00:00:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 34, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 00:00:34'
2026-05-30 00:00:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 34, 745000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 00:00:34'
2026-05-30 00:00:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 35, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 00:00:35'
2026-05-30 00:00:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 52, 746000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:00:52'
2026-05-30 00:00:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 0, 59, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 00:00:59'
2026-05-30 00:01:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 1, 28, 411389, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16583, 'low': 1.16513, 'close': 1.16556, 'volume': 19.0} | asctime='2026-05-30 00:01:28'
2026-05-30 00:01:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 1, 28, 412973, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.1672, 'low': 1.16646, 'close': 1.16646, 'volume': 19.0} | asctime='2026-05-30 00:01:28'
2026-05-30 00:01:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 1, 28, 374000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 00:01:28'
2026-05-30 00:01:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 1, 47, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:01:47'
2026-05-30 00:01:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 1, 51, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 00:01:51'
2026-05-30 00:02:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 30, 609612, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16562, 'low': 1.16529, 'close': 1.16562, 'volume': 3.0} | asctime='2026-05-30 00:02:30'
2026-05-30 00:02:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 30, 610450, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16632, 'close': 1.16632, 'volume': 3.0} | asctime='2026-05-30 00:02:30'
2026-05-30 00:02:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 30, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 00:02:30'
2026-05-30 00:02:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 30, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 00:02:30'
2026-05-30 00:02:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 31, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 00:02:31'
2026-05-30 00:02:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 33, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 00:02:33'
2026-05-30 00:02:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 35, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 00:02:35'
2026-05-30 00:02:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 49, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 00:02:49'
2026-05-30 00:02:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 49, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:02:49'
2026-05-30 00:02:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 51, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 00:02:51'
2026-05-30 00:02:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 53, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 00:02:53'
2026-05-30 00:02:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 2, 59, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 00:02:59'
2026-05-30 00:04:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 4, 12, 908339, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16569, 'low': 1.16524, 'close': 1.16561, 'volume': 10.0} | asctime='2026-05-30 00:04:12'
2026-05-30 00:04:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 4, 12, 910108, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1668, 'high': 1.16685, 'low': 1.16651, 'close': 1.16651, 'volume': 10.0} | asctime='2026-05-30 00:04:12'
2026-05-30 00:04:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 4, 12, 859000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 00:04:12'
2026-05-30 00:04:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 4, 15, 220000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 00:04:15'
2026-05-30 00:04:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 4, 28, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 00:04:28'
2026-05-30 00:04:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 4, 35, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:04:35'
2026-05-30 00:04:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 4, 36, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 00:04:36'
2026-05-30 00:04:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 4, 37, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 00:04:37'
2026-05-30 00:04:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 4, 37, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 00:04:37'
2026-05-30 00:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 0, 308158, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16558, 'high': 1.1657, 'low': 1.16537, 'close': 1.16568, 'volume': 7.0} | asctime='2026-05-30 00:05:00'
2026-05-30 00:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 0, 309169, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16674, 'low': 1.16628, 'close': 1.16658, 'volume': 7.0} | asctime='2026-05-30 00:05:00'
2026-05-30 00:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 0, 310338, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16525, 'high': 1.16583, 'low': 1.16513, 'close': 1.16568, 'volume': 39.0} | asctime='2026-05-30 00:05:00'
2026-05-30 00:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 0, 311480, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16681, 'high': 1.1672, 'low': 1.16628, 'close': 1.16658, 'volume': 39.0} | asctime='2026-05-30 00:05:00'
2026-05-30 00:05:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 0, 282000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 00:05:00'
2026-05-30 00:05:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 10, 958000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.167, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 00:05:11'
2026-05-30 00:05:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 11, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 00:05:11'
2026-05-30 00:05:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 12, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 00:05:12'
2026-05-30 00:05:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 14, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 00:05:14'
2026-05-30 00:05:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 16, 917000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 00:05:16'
2026-05-30 00:05:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 18, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 00:05:18'
2026-05-30 00:05:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 19, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 00:05:19'
2026-05-30 00:05:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 19, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 00:05:19'
2026-05-30 00:05:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 20, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 00:05:20'
2026-05-30 00:05:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 22, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:05:22'
2026-05-30 00:05:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 41, 248000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 00:05:41'
2026-05-30 00:05:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 5, 59, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 00:05:59'
2026-05-30 00:07:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 7, 16, 608090, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16566, 'low': 1.16514, 'close': 1.16566, 'volume': 14.0} | asctime='2026-05-30 00:07:16'
2026-05-30 00:07:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 7, 16, 609342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.167, 'low': 1.16652, 'close': 1.16656, 'volume': 14.0} | asctime='2026-05-30 00:07:16'
2026-05-30 00:07:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 7, 16, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 00:07:16'
2026-05-30 00:07:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 7, 17, 830000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 00:07:17'
2026-05-30 00:07:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 7, 26, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16587, 'volume': 0.0} | asctime='2026-05-30 00:07:26'
2026-05-30 00:07:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 7, 33, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 00:07:33'
2026-05-30 00:07:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 7, 39, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:07:39'
2026-05-30 00:07:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 7, 52, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 00:07:52'
2026-05-30 00:07:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 7, 53, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 00:07:53'
2026-05-30 00:08:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 25, 656669, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16573, 'high': 1.16587, 'low': 1.1654, 'close': 1.16578, 'volume': 7.0} | asctime='2026-05-30 00:08:25'
2026-05-30 00:08:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 25, 657413, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16696, 'low': 1.16655, 'close': 1.16668, 'volume': 7.0} | asctime='2026-05-30 00:08:25'
2026-05-30 00:08:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 25, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16718, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 00:08:25'
2026-05-30 00:08:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 26, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16702, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 00:08:26'
2026-05-30 00:08:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 27, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 00:08:27'
2026-05-30 00:08:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 29, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:08:29'
2026-05-30 00:08:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 30, 576000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:08:30'
2026-05-30 00:08:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 31, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:08:31'
2026-05-30 00:08:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 39, 763000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 00:08:39'
2026-05-30 00:08:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 48, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 00:08:48'
2026-05-30 00:08:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 8, 49, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 00:08:49'
2026-05-30 00:09:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 9, 2, 906115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16576, 'low': 1.16514, 'close': 1.16576, 'volume': 9.0} | asctime='2026-05-30 00:09:02'
2026-05-30 00:09:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 9, 2, 907035, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16718, 'high': 1.16718, 'low': 1.16666, 'close': 1.16666, 'volume': 9.0} | asctime='2026-05-30 00:09:02'
2026-05-30 00:09:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 9, 2, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:09:02'
2026-05-30 00:09:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 9, 13, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 00:09:13'
2026-05-30 00:09:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 9, 28, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:09:28'
2026-05-30 00:09:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 9, 33, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 00:09:33'
2026-05-30 00:09:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 9, 43, 943000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 00:09:43'
2026-05-30 00:09:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 9, 44, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:09:44'
2026-05-30 00:09:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 9, 47, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 00:09:47'
2026-05-30 00:10:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 10, 28, 555433, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16576, 'low': 1.16542, 'close': 1.16573, 'volume': 7.0} | asctime='2026-05-30 00:10:28'
2026-05-30 00:10:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 10, 28, 556600, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16705, 'low': 1.16654, 'close': 1.16663, 'volume': 7.0} | asctime='2026-05-30 00:10:28'
2026-05-30 00:10:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 10, 28, 557922, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16553, 'high': 1.16587, 'low': 1.16514, 'close': 1.16573, 'volume': 37.0} | asctime='2026-05-30 00:10:28'
2026-05-30 00:10:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 10, 28, 558676, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16685, 'high': 1.16718, 'low': 1.16652, 'close': 1.16663, 'volume': 37.0} | asctime='2026-05-30 00:10:28'
2026-05-30 00:10:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 10, 28, 509000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 00:10:28'
2026-05-30 00:10:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 10, 29, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 00:10:29'
2026-05-30 00:10:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 10, 31, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 00:10:31'
2026-05-30 00:10:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 10, 38, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 00:10:38'
2026-05-30 00:10:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 10, 41, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:10:41'
2026-05-30 00:11:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 11, 11, 505305, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16541, 'low': 1.16525, 'close': 1.16541, 'volume': 5.0} | asctime='2026-05-30 00:11:11'
2026-05-30 00:11:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 11, 11, 506366, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16682, 'low': 1.16631, 'close': 1.16631, 'volume': 5.0} | asctime='2026-05-30 00:11:11'
2026-05-30 00:11:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 11, 11, 460000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 00:11:11'
2026-05-30 00:11:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 11, 13, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 00:11:13'
2026-05-30 00:11:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 11, 19, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 00:11:19'
2026-05-30 00:11:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 11, 29, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:11:29'
2026-05-30 00:11:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 11, 31, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 00:11:31'
2026-05-30 00:11:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 11, 33, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:11:33'
2026-05-30 00:11:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 11, 57, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 00:11:57'
2026-05-30 00:12:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 12, 1, 255416, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16549, 'low': 1.16518, 'close': 1.16545, 'volume': 7.0} | asctime='2026-05-30 00:12:01'
2026-05-30 00:12:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 12, 1, 256110, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16675, 'low': 1.16635, 'close': 1.16635, 'volume': 7.0} | asctime='2026-05-30 00:12:01'
2026-05-30 00:12:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 12, 1, 241000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:12:01'
2026-05-30 00:12:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 12, 3, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 00:12:03'
2026-05-30 00:12:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 12, 32, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 00:12:32'
2026-05-30 00:12:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 12, 35, 255000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 00:12:35'
2026-05-30 00:12:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 12, 37, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:12:37'
2026-05-30 00:12:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 12, 39, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 00:12:39'
2026-05-30 00:12:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 12, 41, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:12:41'
2026-05-30 00:13:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 13, 6, 953708, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16565, 'low': 1.16515, 'close': 1.16565, 'volume': 7.0} | asctime='2026-05-30 00:13:06'
2026-05-30 00:13:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 13, 6, 954907, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16695, 'low': 1.16648, 'close': 1.16655, 'volume': 7.0} | asctime='2026-05-30 00:13:06'
2026-05-30 00:13:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 13, 6, 911000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 00:13:06'
2026-05-30 00:13:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 13, 7, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 00:13:07'
2026-05-30 00:13:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 13, 17, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 00:13:17'
2026-05-30 00:13:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 13, 19, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:13:19'
2026-05-30 00:13:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 13, 42, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 00:13:42'
2026-05-30 00:13:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 13, 47, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 00:13:47'
2026-05-30 00:13:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 13, 51, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 00:13:51'
2026-05-30 00:14:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 14, 3, 52995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16547, 'low': 1.16503, 'close': 1.16523, 'volume': 7.0} | asctime='2026-05-30 00:14:03'
2026-05-30 00:14:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 14, 3, 54047, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16683, 'low': 1.16634, 'close': 1.16655, 'volume': 7.0} | asctime='2026-05-30 00:14:03'
2026-05-30 00:14:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 14, 3, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 00:14:03'
2026-05-30 00:14:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 14, 5, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:14:05'
2026-05-30 00:14:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 14, 49, 202000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 00:14:49'
2026-05-30 00:14:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 14, 51, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 00:14:51'
2026-05-30 00:14:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 14, 58, 885000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:14:58'
2026-05-30 00:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 1, 152811, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16565, 'low': 1.16524, 'close': 1.16534, 'volume': 5.0} | asctime='2026-05-30 00:15:01'
2026-05-30 00:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 1, 153626, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1669, 'low': 1.16655, 'close': 1.1669, 'volume': 5.0} | asctime='2026-05-30 00:15:01'
2026-05-30 00:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 1, 154744, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16525, 'high': 1.16565, 'low': 1.16503, 'close': 1.16534, 'volume': 31.0} | asctime='2026-05-30 00:15:01'
2026-05-30 00:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 1, 155969, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16681, 'high': 1.16695, 'low': 1.16631, 'close': 1.1669, 'volume': 31.0} | asctime='2026-05-30 00:15:01'
2026-05-30 00:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 1, 156456, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16525, 'high': 1.16587, 'low': 1.16503, 'close': 1.16534, 'volume': 107.0} | asctime='2026-05-30 00:15:01'
2026-05-30 00:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 1, 157266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16681, 'high': 1.1672, 'low': 1.16628, 'close': 1.1669, 'volume': 107.0} | asctime='2026-05-30 00:15:01'
2026-05-30 00:15:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 1, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 00:15:01'
2026-05-30 00:15:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 5, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:15:05'
2026-05-30 00:15:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 10, 181000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 00:15:10'
2026-05-30 00:15:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 11, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 00:15:11'
2026-05-30 00:15:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 12, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 00:15:12'
2026-05-30 00:15:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 16, 264000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 00:15:16'
2026-05-30 00:15:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 20, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 00:15:20'
2026-05-30 00:15:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 21, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16708, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 00:15:21'
2026-05-30 00:15:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 51, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:15:51'
2026-05-30 00:15:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 15, 55, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:15:55'
2026-05-30 00:16:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 3, 102268, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16579, 'low': 1.16525, 'close': 1.16549, 'volume': 10.0} | asctime='2026-05-30 00:16:03'
2026-05-30 00:16:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 3, 103835, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16692, 'high': 1.16708, 'low': 1.16639, 'close': 1.16639, 'volume': 10.0} | asctime='2026-05-30 00:16:03'
2026-05-30 00:16:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 3, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:16:03'
2026-05-30 00:16:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 9, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 00:16:09'
2026-05-30 00:16:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 17, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 00:16:17'
2026-05-30 00:16:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 20, 817000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 00:16:20'
2026-05-30 00:16:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 21, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 00:16:21'
2026-05-30 00:16:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 23, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 00:16:23'
2026-05-30 00:16:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 25, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:16:25'
2026-05-30 00:16:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 25, 416000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 00:16:25'
2026-05-30 00:16:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 31, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 00:16:31'
2026-05-30 00:16:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 33, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:16:33'
2026-05-30 00:16:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 38, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 00:16:38'
2026-05-30 00:16:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 39, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 00:16:39'
2026-05-30 00:16:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 16, 53, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:16:53'
2026-05-30 00:17:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 17, 30, 351240, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16565, 'low': 1.16519, 'close': 1.16565, 'volume': 13.0} | asctime='2026-05-30 00:17:30'
2026-05-30 00:17:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 17, 30, 352188, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16681, 'low': 1.16644, 'close': 1.16655, 'volume': 13.0} | asctime='2026-05-30 00:17:30'
2026-05-30 00:17:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 17, 30, 336000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 00:17:30'
2026-05-30 00:17:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 17, 31, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 00:17:31'
2026-05-30 00:17:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 17, 41, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 00:17:41'
2026-05-30 00:17:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 17, 43, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 00:17:43'
2026-05-30 00:17:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 17, 45, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 00:17:45'
2026-05-30 00:17:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 17, 47, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 00:17:47'
2026-05-30 00:17:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 17, 49, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 00:17:49'
2026-05-30 00:18:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 1, 900667, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16576, 'low': 1.16545, 'close': 1.16569, 'volume': 7.0} | asctime='2026-05-30 00:18:01'
2026-05-30 00:18:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 1, 901574, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.16677, 'low': 1.16654, 'close': 1.16659, 'volume': 7.0} | asctime='2026-05-30 00:18:01'
2026-05-30 00:18:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 1, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 00:18:01'
2026-05-30 00:18:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 5, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 00:18:05'
2026-05-30 00:18:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 7, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16587, 'volume': 0.0} | asctime='2026-05-30 00:18:07'
2026-05-30 00:18:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 31, 909000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 00:18:31'
2026-05-30 00:18:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 32, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16707, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 00:18:32'
2026-05-30 00:18:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 33, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 00:18:33'
2026-05-30 00:18:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 40, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 00:18:41'
2026-05-30 00:18:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 43, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:18:43'
2026-05-30 00:18:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 53, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 00:18:53'
2026-05-30 00:18:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 55, 992000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:18:56'
2026-05-30 00:18:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 18, 57, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:18:57'
2026-05-30 00:19:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 1, 100309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16555, 'high': 1.16587, 'low': 1.16527, 'close': 1.16554, 'volume': 11.0} | asctime='2026-05-30 00:19:01'
2026-05-30 00:19:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 1, 101958, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16687, 'high': 1.16707, 'low': 1.16644, 'close': 1.16644, 'volume': 11.0} | asctime='2026-05-30 00:19:01'
2026-05-30 00:19:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 1, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 00:19:01'
2026-05-30 00:19:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 3, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 00:19:03'
2026-05-30 00:19:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 14, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 00:19:14'
2026-05-30 00:19:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 31, 871000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:19:31'
2026-05-30 00:19:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 33, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 00:19:33'
2026-05-30 00:19:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 40, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 00:19:40'
2026-05-30 00:19:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 41, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 00:19:41'
2026-05-30 00:19:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 41, 677000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:19:41'
2026-05-30 00:19:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 43, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 00:19:43'
2026-05-30 00:19:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 44, 905000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:19:44'
2026-05-30 00:19:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 45, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16707, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 00:19:45'
2026-05-30 00:19:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 45, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16709, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 00:19:45'
2026-05-30 00:19:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 46, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 00:19:46'
2026-05-30 00:19:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 47, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 00:19:47'
2026-05-30 00:19:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 47, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 00:19:47'
2026-05-30 00:19:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 47, 387000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 00:19:47'
2026-05-30 00:19:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 51, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:19:51'
2026-05-30 00:19:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 58, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 00:19:58'
2026-05-30 00:19:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 19, 59, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 00:19:59'
2026-05-30 00:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 1, 199661, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16561, 'high': 1.16569, 'low': 1.16503, 'close': 1.16568, 'volume': 19.0} | asctime='2026-05-30 00:20:01'
2026-05-30 00:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 1, 200739, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16709, 'low': 1.16637, 'close': 1.16658, 'volume': 19.0} | asctime='2026-05-30 00:20:01'
2026-05-30 00:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 1, 202006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16536, 'high': 1.16587, 'low': 1.16503, 'close': 1.16568, 'volume': 60.0} | asctime='2026-05-30 00:20:01'
2026-05-30 00:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 1, 202562, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16692, 'high': 1.16709, 'low': 1.16637, 'close': 1.16658, 'volume': 60.0} | asctime='2026-05-30 00:20:01'
2026-05-30 00:20:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 1, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 00:20:01'
2026-05-30 00:20:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 1, 291000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 00:20:01'
2026-05-30 00:20:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 7, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 00:20:07'
2026-05-30 00:20:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 9, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 00:20:09'
2026-05-30 00:20:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 17, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 00:20:17'
2026-05-30 00:20:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 25, 995000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 00:20:26'
2026-05-30 00:20:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 26, 367000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 00:20:26'
2026-05-30 00:20:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 27, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:20:27'
2026-05-30 00:20:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 29, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:20:29'
2026-05-30 00:20:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 31, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 00:20:31'
2026-05-30 00:20:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 36, 796000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 00:20:36'
2026-05-30 00:20:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 20, 47, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 00:20:47'
2026-05-30 00:21:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 21, 35, 48420, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16569, 'high': 1.16576, 'low': 1.16521, 'close': 1.1657, 'volume': 12.0} | asctime='2026-05-30 00:21:35'
2026-05-30 00:21:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 21, 35, 49560, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16689, 'low': 1.16647, 'close': 1.1666, 'volume': 12.0} | asctime='2026-05-30 00:21:35'
2026-05-30 00:21:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 21, 35, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 00:21:35'
2026-05-30 00:21:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 21, 41, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:21:41'
2026-05-30 00:21:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 21, 45, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 00:21:45'
2026-05-30 00:22:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 1, 500789, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16565, 'low': 1.16542, 'close': 1.16559, 'volume': 3.0} | asctime='2026-05-30 00:22:01'
2026-05-30 00:22:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 1, 501862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16674, 'low': 1.16649, 'close': 1.16649, 'volume': 3.0} | asctime='2026-05-30 00:22:01'
2026-05-30 00:22:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 1, 459000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 00:22:01'
2026-05-30 00:22:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 1, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 00:22:01'
2026-05-30 00:22:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 3, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 00:22:03'
2026-05-30 00:22:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 4, 811000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 00:22:04'
2026-05-30 00:22:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 7, 541000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 00:22:07'
2026-05-30 00:22:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 44, 39000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 00:22:44'
2026-05-30 00:22:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 45, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 00:22:45'
2026-05-30 00:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 52, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 00:22:52'
2026-05-30 00:22:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 22, 53, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 00:22:53'
2026-05-30 00:23:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 23, 21, 947191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.1653, 'low': 1.16511, 'close': 1.16516, 'volume': 9.0} | asctime='2026-05-30 00:23:21'
2026-05-30 00:23:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 23, 21, 948921, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16686, 'high': 1.16686, 'low': 1.16651, 'close': 1.16672, 'volume': 9.0} | asctime='2026-05-30 00:23:21'
2026-05-30 00:23:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 23, 21, 902000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 00:23:21'
2026-05-30 00:23:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 23, 31, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 00:23:31'
2026-05-30 00:24:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 19, 147419, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16529, 'low': 1.16514, 'close': 1.16529, 'volume': 2.0} | asctime='2026-05-30 00:24:19'
2026-05-30 00:24:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 19, 148604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1667, 'low': 1.16661, 'close': 1.16661, 'volume': 2.0} | asctime='2026-05-30 00:24:19'
2026-05-30 00:24:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 19, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 00:24:19'
2026-05-30 00:24:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 31, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 00:24:31'
2026-05-30 00:24:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 33, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 00:24:33'
2026-05-30 00:24:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 33, 903000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:24:33'
2026-05-30 00:24:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 34, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 00:24:34'
2026-05-30 00:24:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 39, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 00:24:39'
2026-05-30 00:24:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 43, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 00:24:43'
2026-05-30 00:24:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 49, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:24:49'
2026-05-30 00:24:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 50, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 00:24:50'
2026-05-30 00:24:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 51, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 00:24:51'
2026-05-30 00:24:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 53, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 00:24:53'
2026-05-30 00:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 57, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 00:24:57'
2026-05-30 00:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 24, 57, 860000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 00:24:57'
2026-05-30 00:25:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 25, 4, 596784, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16545, 'low': 1.16509, 'close': 1.16509, 'volume': 13.0} | asctime='2026-05-30 00:25:04'
2026-05-30 00:25:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 25, 4, 598636, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16665, 'high': 1.16689, 'low': 1.16662, 'close': 1.16689, 'volume': 13.0} | asctime='2026-05-30 00:25:04'
2026-05-30 00:25:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 25, 4, 600053, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16569, 'high': 1.16576, 'low': 1.16509, 'close': 1.16509, 'volume': 39.0} | asctime='2026-05-30 00:25:04'
2026-05-30 00:25:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 25, 4, 601587, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16659, 'high': 1.16689, 'low': 1.16647, 'close': 1.16689, 'volume': 39.0} | asctime='2026-05-30 00:25:04'
2026-05-30 00:25:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 25, 4, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 00:25:04'
2026-05-30 00:25:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 25, 5, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 00:25:05'
2026-05-30 00:25:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 25, 18, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16717, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 00:25:18'
2026-05-30 00:25:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 25, 19, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16584, 'volume': 0.0} | asctime='2026-05-30 00:25:19'
2026-05-30 00:25:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 25, 51, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 00:25:51'
2026-05-30 00:26:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 26, 1, 96054, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16584, 'low': 1.16513, 'close': 1.16579, 'volume': 5.0} | asctime='2026-05-30 00:26:01'
2026-05-30 00:26:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 26, 1, 96953, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16717, 'low': 1.1664, 'close': 1.16669, 'volume': 5.0} | asctime='2026-05-30 00:26:01'
2026-05-30 00:26:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 26, 1, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 00:26:01'
2026-05-30 00:26:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 26, 50, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 00:26:50'
2026-05-30 00:26:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 26, 51, 203000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:26:51'
2026-05-30 00:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 0, 295720, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16583, 'high': 1.16583, 'low': 1.16538, 'close': 1.16541, 'volume': 3.0} | asctime='2026-05-30 00:27:00'
2026-05-30 00:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 0, 296783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16673, 'low': 1.16653, 'close': 1.16673, 'volume': 3.0} | asctime='2026-05-30 00:27:00'
2026-05-30 00:27:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 0, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:27:00'
2026-05-30 00:27:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 0, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 00:27:00'
2026-05-30 00:27:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 1, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:27:01'
2026-05-30 00:27:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 3, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 00:27:03'
2026-05-30 00:27:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 35, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 00:27:35'
2026-05-30 00:27:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 38, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 00:27:38'
2026-05-30 00:27:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 47, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 00:27:47'
2026-05-30 00:27:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 27, 49, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:27:49'
2026-05-30 00:28:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 28, 16, 744581, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16565, 'low': 1.16536, 'close': 1.16565, 'volume': 8.0} | asctime='2026-05-30 00:28:16'
2026-05-30 00:28:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 28, 16, 746426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16692, 'low': 1.16648, 'close': 1.16655, 'volume': 8.0} | asctime='2026-05-30 00:28:16'
2026-05-30 00:28:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 28, 16, 736000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:28:16'
2026-05-30 00:28:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 28, 31, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:28:31'
2026-05-30 00:29:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 29, 8, 294542, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16565, 'low': 1.16549, 'close': 1.16565, 'volume': 2.0} | asctime='2026-05-30 00:29:08'
2026-05-30 00:29:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 29, 8, 295623, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16681, 'low': 1.16655, 'close': 1.16655, 'volume': 2.0} | asctime='2026-05-30 00:29:08'
2026-05-30 00:29:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 29, 8, 254000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 00:29:08'
2026-05-30 00:29:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 29, 16, 571000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 00:29:16'
2026-05-30 00:29:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 29, 23, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 00:29:23'
2026-05-30 00:29:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 29, 30, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 00:29:30'
2026-05-30 00:30:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 6, 143544, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1655, 'high': 1.1655, 'low': 1.16526, 'close': 1.16531, 'volume': 4.0} | asctime='2026-05-30 00:30:06'
2026-05-30 00:30:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 6, 144203, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16658, 'close': 1.16663, 'volume': 4.0} | asctime='2026-05-30 00:30:06'
2026-05-30 00:30:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 6, 145568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16516, 'high': 1.16584, 'low': 1.16513, 'close': 1.16531, 'volume': 22.0} | asctime='2026-05-30 00:30:06'
2026-05-30 00:30:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 6, 146703, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16648, 'high': 1.16717, 'low': 1.1664, 'close': 1.16663, 'volume': 22.0} | asctime='2026-05-30 00:30:06'
2026-05-30 00:30:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 6, 147707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16536, 'high': 1.16587, 'low': 1.16503, 'close': 1.16531, 'volume': 121.0} | asctime='2026-05-30 00:30:06'
2026-05-30 00:30:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 6, 148743, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16692, 'high': 1.16717, 'low': 1.16637, 'close': 1.16663, 'volume': 121.0} | asctime='2026-05-30 00:30:06'
2026-05-30 00:30:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 6, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:30:06'
2026-05-30 00:30:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 7, 965000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 00:30:07'
2026-05-30 00:30:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 8, 461000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 00:30:08'
2026-05-30 00:30:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 16, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 00:30:16'
2026-05-30 00:30:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 18, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:30:18'
2026-05-30 00:30:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 22, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 00:30:22'
2026-05-30 00:30:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 23, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 00:30:23'
2026-05-30 00:30:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 24, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 00:30:24'
2026-05-30 00:30:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 52, 780000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 00:30:52'
2026-05-30 00:30:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 56, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 00:30:56'
2026-05-30 00:30:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 56, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 00:30:56'
2026-05-30 00:30:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 57, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 00:30:57'
2026-05-30 00:30:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 30, 57, 869000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 00:30:57'
2026-05-30 00:31:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 31, 1, 843400, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16571, 'low': 1.16524, 'close': 1.16564, 'volume': 13.0} | asctime='2026-05-30 00:31:01'
2026-05-30 00:31:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 31, 1, 845141, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16688, 'low': 1.16648, 'close': 1.16654, 'volume': 13.0} | asctime='2026-05-30 00:31:01'
2026-05-30 00:31:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 31, 1, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 00:31:01'
2026-05-30 00:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 31, 4, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 00:31:04'
2026-05-30 00:31:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 31, 6, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 00:31:06'
2026-05-30 00:31:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 31, 15, 745000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 00:31:15'
2026-05-30 00:32:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 32, 4, 192264, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16548, 'low': 1.16529, 'close': 1.16548, 'volume': 4.0} | asctime='2026-05-30 00:32:04'
2026-05-30 00:32:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 32, 4, 193247, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16688, 'high': 1.16688, 'low': 1.1667, 'close': 1.1668, 'volume': 4.0} | asctime='2026-05-30 00:32:04'
2026-05-30 00:32:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 32, 4, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 00:32:04'
2026-05-30 00:32:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 32, 6, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 00:32:06'
2026-05-30 00:32:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 32, 9, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 00:32:09'
2026-05-30 00:32:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 32, 12, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 00:32:12'
2026-05-30 00:32:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 32, 20, 297000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 00:32:20'
2026-05-30 00:32:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 32, 24, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:32:24'
2026-05-30 00:33:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 33, 40, 990974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16562, 'high': 1.16564, 'low': 1.16529, 'close': 1.16554, 'volume': 6.0} | asctime='2026-05-30 00:33:40'
2026-05-30 00:33:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 33, 40, 992256, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16687, 'low': 1.16652, 'close': 1.16686, 'volume': 6.0} | asctime='2026-05-30 00:33:40'
2026-05-30 00:33:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 33, 40, 988000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 00:33:40'
2026-05-30 00:33:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 33, 42, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 00:33:42'
2026-05-30 00:33:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 33, 48, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 00:33:48'
2026-05-30 00:33:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 33, 50, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 00:33:50'
2026-05-30 00:33:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 33, 52, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:33:52'
2026-05-30 00:34:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 6, 90802, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1655, 'high': 1.1656, 'low': 1.16546, 'close': 1.16549, 'volume': 5.0} | asctime='2026-05-30 00:34:06'
2026-05-30 00:34:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 6, 92459, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.1665, 'close': 1.16681, 'volume': 5.0} | asctime='2026-05-30 00:34:06'
2026-05-30 00:34:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 6, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 00:34:06'
2026-05-30 00:34:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 12, 271000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 00:34:12'
2026-05-30 00:34:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 19, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 00:34:19'
2026-05-30 00:34:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 19, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 00:34:19'
2026-05-30 00:34:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 19, 968000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 00:34:19'
2026-05-30 00:34:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 24, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 00:34:24'
2026-05-30 00:34:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 28, 906000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:34:28'
2026-05-30 00:34:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 33, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:34:33'
2026-05-30 00:34:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 34, 44, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 00:34:44'
2026-05-30 00:35:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 35, 27, 40229, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16579, 'high': 1.16579, 'low': 1.16529, 'close': 1.16559, 'volume': 9.0} | asctime='2026-05-30 00:35:27'
2026-05-30 00:35:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 35, 27, 41296, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16685, 'low': 1.16649, 'close': 1.16649, 'volume': 9.0} | asctime='2026-05-30 00:35:27'
2026-05-30 00:35:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 35, 27, 42730, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16565, 'high': 1.16579, 'low': 1.16524, 'close': 1.16559, 'volume': 37.0} | asctime='2026-05-30 00:35:27'
2026-05-30 00:35:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 35, 27, 44309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16655, 'high': 1.16688, 'low': 1.16648, 'close': 1.16649, 'volume': 37.0} | asctime='2026-05-30 00:35:27'
2026-05-30 00:35:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 35, 27, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:35:27'
2026-05-30 00:36:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 36, 28, 89964, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16537, 'low': 1.16537, 'close': 1.16537, 'volume': 1.0} | asctime='2026-05-30 00:36:28'
2026-05-30 00:36:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 36, 28, 91825, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16669, 'low': 1.16669, 'close': 1.16669, 'volume': 1.0} | asctime='2026-05-30 00:36:28'
2026-05-30 00:36:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 36, 28, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 00:36:28'
2026-05-30 00:36:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 36, 28, 829000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:36:28'
2026-05-30 00:36:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 36, 30, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 00:36:30'
2026-05-30 00:36:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 36, 31, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 00:36:31'
2026-05-30 00:36:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 36, 32, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 00:36:32'
2026-05-30 00:36:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 36, 33, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:36:33'
2026-05-30 00:36:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 36, 58, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:36:58'
2026-05-30 00:37:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 0, 138901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16559, 'high': 1.16565, 'low': 1.16528, 'close': 1.16554, 'volume': 7.0} | asctime='2026-05-30 00:37:00'
2026-05-30 00:37:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 0, 140006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16688, 'low': 1.16649, 'close': 1.16686, 'volume': 7.0} | asctime='2026-05-30 00:37:00'
2026-05-30 00:37:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 0, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16582, 'volume': 0.0} | asctime='2026-05-30 00:37:00'
2026-05-30 00:37:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 3, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 00:37:03'
2026-05-30 00:37:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 4, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:37:04'
2026-05-30 00:37:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 6, 689000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 00:37:06'
2026-05-30 00:37:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 8, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 00:37:08'
2026-05-30 00:37:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 8, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 00:37:08'
2026-05-30 00:37:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 34, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 00:37:34'
2026-05-30 00:37:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 36, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:37:36'
2026-05-30 00:37:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 37, 42, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 00:37:42'
2026-05-30 00:38:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 38, 3, 88325, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16582, 'high': 1.16582, 'low': 1.16527, 'close': 1.16527, 'volume': 9.0} | asctime='2026-05-30 00:38:03'
2026-05-30 00:38:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 38, 3, 93164, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16697, 'low': 1.16634, 'close': 1.16683, 'volume': 9.0} | asctime='2026-05-30 00:38:03'
2026-05-30 00:38:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 38, 3, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 00:38:03'
2026-05-30 00:38:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 38, 26, 883000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:38:26'
2026-05-30 00:38:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 38, 28, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 00:38:28'
2026-05-30 00:38:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 38, 40, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 00:38:40'
2026-05-30 00:38:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 38, 46, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 00:38:46'
2026-05-30 00:39:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 39, 38, 638495, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16575, 'low': 1.16543, 'close': 1.16575, 'volume': 5.0} | asctime='2026-05-30 00:39:38'
2026-05-30 00:39:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 39, 38, 639481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16675, 'high': 1.16682, 'low': 1.1666, 'close': 1.16665, 'volume': 5.0} | asctime='2026-05-30 00:39:38'
2026-05-30 00:39:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 39, 38, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 00:39:38'
2026-05-30 00:40:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 40, 4, 88182, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16573, 'high': 1.16573, 'low': 1.16573, 'close': 1.16573, 'volume': 1.0} | asctime='2026-05-30 00:40:04'
2026-05-30 00:40:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 40, 4, 89281, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16663, 'close': 1.16663, 'volume': 1.0} | asctime='2026-05-30 00:40:04'
2026-05-30 00:40:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 40, 4, 90954, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16537, 'high': 1.16582, 'low': 1.16527, 'close': 1.16573, 'volume': 23.0} | asctime='2026-05-30 00:40:04'
2026-05-30 00:40:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 40, 4, 92149, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16669, 'high': 1.16697, 'low': 1.16634, 'close': 1.16663, 'volume': 23.0} | asctime='2026-05-30 00:40:04'
2026-05-30 00:40:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 40, 4, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 00:40:04'
2026-05-30 00:40:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 40, 4, 208000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 00:40:04'
2026-05-30 00:40:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 40, 6, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:40:06'
2026-05-30 00:41:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 3, 87799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16569, 'high': 1.16569, 'low': 1.16565, 'close': 1.16565, 'volume': 3.0} | asctime='2026-05-30 00:41:03'
2026-05-30 00:41:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 3, 88643, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16659, 'low': 1.16655, 'close': 1.16655, 'volume': 3.0} | asctime='2026-05-30 00:41:03'
2026-05-30 00:41:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 3, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 00:41:03'
2026-05-30 00:41:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 8, 264000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:41:08'
2026-05-30 00:41:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 18, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 00:41:18'
2026-05-30 00:41:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 22, 44000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:41:22'
2026-05-30 00:41:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 24, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 00:41:24'
2026-05-30 00:41:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 24, 775000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:41:24'
2026-05-30 00:41:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 29, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:41:29'
2026-05-30 00:41:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 45, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 00:41:45'
2026-05-30 00:41:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 46, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 00:41:46'
2026-05-30 00:41:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 48, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 00:41:48'
2026-05-30 00:41:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 41, 48, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 00:41:48'
2026-05-30 00:42:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 42, 0, 186904, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16563, 'high': 1.16571, 'low': 1.16537, 'close': 1.16562, 'volume': 11.0} | asctime='2026-05-30 00:42:00'
2026-05-30 00:42:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 42, 0, 188043, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16681, 'low': 1.16632, 'close': 1.16652, 'volume': 11.0} | asctime='2026-05-30 00:42:00'
2026-05-30 00:42:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 42, 0, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 00:42:00'
2026-05-30 00:42:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 42, 2, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 00:42:02'
2026-05-30 00:42:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 42, 31, 314000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:42:31'
2026-05-30 00:42:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 42, 35, 410000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 00:42:35'
2026-05-30 00:42:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 42, 52, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 00:42:52'
2026-05-30 00:43:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 43, 24, 586923, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16559, 'high': 1.16575, 'low': 1.16546, 'close': 1.16568, 'volume': 5.0} | asctime='2026-05-30 00:43:24'
2026-05-30 00:43:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 43, 24, 587973, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16681, 'low': 1.16645, 'close': 1.16658, 'volume': 5.0} | asctime='2026-05-30 00:43:24'
2026-05-30 00:43:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 43, 24, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:43:24'
2026-05-30 00:43:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 43, 38, 349000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:43:38'
2026-05-30 00:43:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 43, 50, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:43:50'
2026-05-30 00:43:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 43, 52, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 00:43:52'
2026-05-30 00:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 7, 634289, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16559, 'low': 1.16541, 'close': 1.16559, 'volume': 4.0} | asctime='2026-05-30 00:45:07'
2026-05-30 00:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 7, 635994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16676, 'low': 1.16649, 'close': 1.16649, 'volume': 4.0} | asctime='2026-05-30 00:45:07'
2026-05-30 00:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 7, 636563, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16569, 'high': 1.16575, 'low': 1.16537, 'close': 1.16559, 'volume': 23.0} | asctime='2026-05-30 00:45:07'
2026-05-30 00:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 7, 636995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16659, 'high': 1.16681, 'low': 1.16632, 'close': 1.16649, 'volume': 23.0} | asctime='2026-05-30 00:45:07'
2026-05-30 00:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 7, 637422, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16565, 'high': 1.16582, 'low': 1.16524, 'close': 1.16559, 'volume': 83.0} | asctime='2026-05-30 00:45:07'
2026-05-30 00:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 7, 637838, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16655, 'high': 1.16697, 'low': 1.16632, 'close': 1.16649, 'volume': 83.0} | asctime='2026-05-30 00:45:07'
2026-05-30 00:45:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 7, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:45:07'
2026-05-30 00:45:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 8, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 00:45:08'
2026-05-30 00:45:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 21, 881000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:45:21'
2026-05-30 00:45:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 45, 24, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 00:45:24'
2026-05-30 00:46:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 46, 10, 183955, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16552, 'low': 1.16534, 'close': 1.16552, 'volume': 4.0} | asctime='2026-05-30 00:46:10'
2026-05-30 00:46:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 46, 10, 185863, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16684, 'low': 1.16666, 'close': 1.16684, 'volume': 4.0} | asctime='2026-05-30 00:46:10'
2026-05-30 00:46:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 46, 10, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:46:10'
2026-05-30 00:46:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 46, 44, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 00:46:44'
2026-05-30 00:47:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 47, 14, 633371, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16568, 'low': 1.16565, 'close': 1.16568, 'volume': 2.0} | asctime='2026-05-30 00:47:14'
2026-05-30 00:47:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 47, 14, 634393, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16658, 'low': 1.16655, 'close': 1.16658, 'volume': 2.0} | asctime='2026-05-30 00:47:14'
2026-05-30 00:47:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 47, 14, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 00:47:14'
2026-05-30 00:47:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 47, 37, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:47:37'
2026-05-30 00:48:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 48, 19, 782299, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16571, 'high': 1.16571, 'low': 1.16544, 'close': 1.16544, 'volume': 2.0} | asctime='2026-05-30 00:48:19'
2026-05-30 00:48:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 48, 19, 784025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16676, 'low': 1.16661, 'close': 1.16676, 'volume': 2.0} | asctime='2026-05-30 00:48:19'
2026-05-30 00:48:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 48, 19, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 00:48:19'
2026-05-30 00:48:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 48, 24, 988000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:48:24'
2026-05-30 00:48:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 48, 34, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:48:34'
2026-05-30 00:48:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 48, 36, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 00:48:36'
2026-05-30 00:48:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 48, 40, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 00:48:40'
2026-05-30 00:49:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 49, 53, 632331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16563, 'low': 1.16534, 'close': 1.16563, 'volume': 5.0} | asctime='2026-05-30 00:49:53'
2026-05-30 00:49:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 49, 53, 633458, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16675, 'high': 1.1669, 'low': 1.16653, 'close': 1.16653, 'volume': 5.0} | asctime='2026-05-30 00:49:53'
2026-05-30 00:49:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 49, 53, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:49:53'
2026-05-30 00:49:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 49, 59, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 00:49:59'
2026-05-30 00:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 50, 4, 81955, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16535, 'low': 1.16534, 'close': 1.16535, 'volume': 2.0} | asctime='2026-05-30 00:50:04'
2026-05-30 00:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 50, 4, 82765, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16667, 'low': 1.16666, 'close': 1.16667, 'volume': 2.0} | asctime='2026-05-30 00:50:04'
2026-05-30 00:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 50, 4, 83798, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16534, 'high': 1.16571, 'low': 1.16534, 'close': 1.16535, 'volume': 15.0} | asctime='2026-05-30 00:50:04'
2026-05-30 00:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 50, 4, 84599, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16666, 'high': 1.1669, 'low': 1.16653, 'close': 1.16667, 'volume': 15.0} | asctime='2026-05-30 00:50:04'
2026-05-30 00:50:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 50, 4, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 00:50:04'
2026-05-30 00:50:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 50, 30, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:50:30'
2026-05-30 00:50:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 50, 32, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 00:50:32'
2026-05-30 00:51:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 51, 0, 431024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16534, 'close': 1.1654, 'volume': 3.0} | asctime='2026-05-30 00:51:00'
2026-05-30 00:51:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 51, 0, 432102, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16672, 'low': 1.16633, 'close': 1.16672, 'volume': 3.0} | asctime='2026-05-30 00:51:00'
2026-05-30 00:51:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 51, 0, 411000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:51:00'
2026-05-30 00:51:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 51, 3, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:51:03'
2026-05-30 00:51:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 51, 5, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 00:51:05'
2026-05-30 00:51:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 51, 8, 355000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:51:08'
2026-05-30 00:52:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 19, 980208, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16551, 'low': 1.16534, 'close': 1.16534, 'volume': 4.0} | asctime='2026-05-30 00:52:19'
2026-05-30 00:52:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 19, 981721, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16669, 'low': 1.16641, 'close': 1.16666, 'volume': 4.0} | asctime='2026-05-30 00:52:19'
2026-05-30 00:52:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 19, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 00:52:19'
2026-05-30 00:52:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 20, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16726, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 00:52:20'
2026-05-30 00:52:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 20, 356000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16721, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 00:52:20'
2026-05-30 00:52:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 20, 977000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:52:20'
2026-05-30 00:52:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 28, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 00:52:28'
2026-05-30 00:52:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 28, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 00:52:28'
2026-05-30 00:52:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 29, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 00:52:29'
2026-05-30 00:52:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 52, 39, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 00:52:39'
2026-05-30 00:53:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 3, 829668, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16565, 'low': 1.16498, 'close': 1.16552, 'volume': 8.0} | asctime='2026-05-30 00:53:03'
2026-05-30 00:53:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 3, 830826, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16689, 'high': 1.16726, 'low': 1.16642, 'close': 1.16642, 'volume': 8.0} | asctime='2026-05-30 00:53:03'
2026-05-30 00:53:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 3, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 00:53:03'
2026-05-30 00:53:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 5, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 00:53:05'
2026-05-30 00:53:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 9, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 00:53:09'
2026-05-30 00:53:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 13, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 00:53:13'
2026-05-30 00:53:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 20, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 00:53:20'
2026-05-30 00:53:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 22, 677000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 00:53:22'
2026-05-30 00:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 38, 316000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 00:53:38'
2026-05-30 00:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 38, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 00:53:38'
2026-05-30 00:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 38, 813000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 00:53:38'
2026-05-30 00:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 38, 936000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 00:53:38'
2026-05-30 00:53:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 53, 49, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:53:49'
2026-05-30 00:54:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 7, 729565, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16546, 'high': 1.16576, 'low': 1.16546, 'close': 1.16565, 'volume': 11.0} | asctime='2026-05-30 00:54:07'
2026-05-30 00:54:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 7, 730350, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16678, 'high': 1.16685, 'low': 1.16655, 'close': 1.16655, 'volume': 11.0} | asctime='2026-05-30 00:54:07'
2026-05-30 00:54:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 7, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 00:54:07'
2026-05-30 00:54:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 7, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 00:54:07'
2026-05-30 00:54:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 9, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 00:54:09'
2026-05-30 00:54:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 11, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 00:54:11'
2026-05-30 00:54:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 33, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 00:54:33'
2026-05-30 00:54:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 33, 434000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16704, 'bid_price': 1.16476, 'volume': 0.0} | asctime='2026-05-30 00:54:33'
2026-05-30 00:54:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 33, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1671, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 00:54:33'
2026-05-30 00:54:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 34, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16711, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 00:54:34'
2026-05-30 00:54:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 36, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 00:54:36'
2026-05-30 00:54:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 38, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16707, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 00:54:38'
2026-05-30 00:54:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 43, 614000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:54:43'
2026-05-30 00:54:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 44, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 00:54:44'
2026-05-30 00:54:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 46, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 00:54:46'
2026-05-30 00:54:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 48, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:54:48'
2026-05-30 00:54:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 49, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 00:54:49'
2026-05-30 00:54:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 49, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 00:54:49'
2026-05-30 00:54:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 50, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 00:54:50'
2026-05-30 00:54:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 50, 441000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 00:54:50'
2026-05-30 00:54:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 51, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 00:54:51'
2026-05-30 00:54:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 54, 51, 435000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:54:51'
2026-05-30 00:55:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 3, 378232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.16555, 'low': 1.16476, 'close': 1.16544, 'volume': 20.0} | asctime='2026-05-30 00:55:03'
2026-05-30 00:55:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 3, 379268, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16686, 'high': 1.16711, 'low': 1.16649, 'close': 1.16676, 'volume': 20.0} | asctime='2026-05-30 00:55:03'
2026-05-30 00:55:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 3, 380562, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16543, 'high': 1.16576, 'low': 1.16476, 'close': 1.16544, 'volume': 46.0} | asctime='2026-05-30 00:55:03'
2026-05-30 00:55:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 3, 381071, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16633, 'high': 1.16726, 'low': 1.16633, 'close': 1.16676, 'volume': 46.0} | asctime='2026-05-30 00:55:03'
2026-05-30 00:55:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 3, 352000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 00:55:03'
2026-05-30 00:55:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 5, 959000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 00:55:05'
2026-05-30 00:55:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 14, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 00:55:14'
2026-05-30 00:55:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 16, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 00:55:16'
2026-05-30 00:55:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 17, 256000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:55:17'
2026-05-30 00:55:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 55, 28, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 00:55:28'
2026-05-30 00:56:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 11, 628008, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16563, 'high': 1.16583, 'low': 1.16537, 'close': 1.16568, 'volume': 6.0} | asctime='2026-05-30 00:56:11'
2026-05-30 00:56:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 11, 632758, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16693, 'low': 1.16648, 'close': 1.16658, 'volume': 6.0} | asctime='2026-05-30 00:56:11'
2026-05-30 00:56:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 11, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 00:56:11'
2026-05-30 00:56:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 12, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 00:56:12'
2026-05-30 00:56:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 15, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 00:56:15'
2026-05-30 00:56:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 22, 554000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 00:56:22'
2026-05-30 00:56:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 34, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 00:56:34'
2026-05-30 00:56:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 37, 823000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 00:56:37'
2026-05-30 00:56:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 40, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 00:56:40'
2026-05-30 00:56:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 43, 781000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 00:56:43'
2026-05-30 00:56:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 44, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 00:56:44'
2026-05-30 00:56:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 56, 816000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 00:56:56'
2026-05-30 00:56:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 57, 188000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16729, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 00:56:57'
2026-05-30 00:56:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 56, 58, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 00:56:58'
2026-05-30 00:57:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 57, 0, 177572, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.1657, 'low': 1.16501, 'close': 1.16521, 'volume': 12.0} | asctime='2026-05-30 00:57:00'
2026-05-30 00:57:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 57, 0, 179562, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16692, 'high': 1.16729, 'low': 1.16644, 'close': 1.16677, 'volume': 12.0} | asctime='2026-05-30 00:57:00'
2026-05-30 00:57:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 57, 0, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 00:57:00'
2026-05-30 00:57:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 57, 4, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 00:57:04'
2026-05-30 00:57:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 57, 6, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 00:57:06'
2026-05-30 00:58:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 24, 76509, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16559, 'low': 1.16541, 'close': 1.16559, 'volume': 3.0} | asctime='2026-05-30 00:58:24'
2026-05-30 00:58:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 24, 77544, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16676, 'low': 1.16649, 'close': 1.16649, 'volume': 3.0} | asctime='2026-05-30 00:58:24'
2026-05-30 00:58:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 24, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 00:58:24'
2026-05-30 00:58:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 24, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 00:58:24'
2026-05-30 00:58:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 26, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 00:58:26'
2026-05-30 00:58:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 30, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 00:58:30'
2026-05-30 00:58:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 36, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 00:58:36'
2026-05-30 00:58:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 52, 403000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 00:58:52'
2026-05-30 00:58:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 57, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 00:58:57'
2026-05-30 00:58:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 58, 57, 727000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 00:58:57'
2026-05-30 00:59:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 0, 76205, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16577, 'low': 1.16528, 'close': 1.16528, 'volume': 8.0} | asctime='2026-05-30 00:59:00'
2026-05-30 00:59:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 0, 76941, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16694, 'high': 1.16694, 'low': 1.1666, 'close': 1.16684, 'volume': 8.0} | asctime='2026-05-30 00:59:00'
2026-05-30 00:59:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 0, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 00:59:00'
2026-05-30 00:59:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 2, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 00:59:02'
2026-05-30 00:59:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 27, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 00:59:27'
2026-05-30 00:59:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 28, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 00:59:28'
2026-05-30 00:59:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 30, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 00:59:30'
2026-05-30 00:59:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 30, 252000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 00:59:30'
2026-05-30 00:59:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 32, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16582, 'volume': 0.0} | asctime='2026-05-30 00:59:32'
2026-05-30 00:59:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 54, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 00:59:54'
2026-05-30 00:59:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 55, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16733, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 00:59:55'
2026-05-30 00:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 56, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16749, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 00:59:56'
2026-05-30 00:59:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 0, 59, 58, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 00:59:58'
2026-05-30 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 0, 326026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16555, 'high': 1.16582, 'low': 1.16505, 'close': 1.16565, 'volume': 11.0} | asctime='2026-05-30 01:00:00'
2026-05-30 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 0, 326972, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16749, 'low': 1.16645, 'close': 1.16655, 'volume': 11.0} | asctime='2026-05-30 01:00:00'
2026-05-30 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 0, 328125, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16563, 'high': 1.16583, 'low': 1.16501, 'close': 1.16565, 'volume': 40.0} | asctime='2026-05-30 01:00:00'
2026-05-30 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 0, 328968, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16653, 'high': 1.16749, 'low': 1.16644, 'close': 1.16655, 'volume': 40.0} | asctime='2026-05-30 01:00:00'
2026-05-30 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 0, 329757, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16534, 'high': 1.16583, 'low': 1.16476, 'close': 1.16565, 'volume': 101.0} | asctime='2026-05-30 01:00:00'
2026-05-30 01:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 0, 330499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16666, 'high': 1.16749, 'low': 1.16633, 'close': 1.16655, 'volume': 101.0} | asctime='2026-05-30 01:00:00'
2026-05-30 01:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 0, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 01:00:00'
2026-05-30 01:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 4, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 01:00:04'
2026-05-30 01:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 6, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:00:06'
2026-05-30 01:00:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 7, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 01:00:07'
2026-05-30 01:00:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 8, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 01:00:08'
2026-05-30 01:00:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 17, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16703, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 01:00:17'
2026-05-30 01:00:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 17, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16706, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 01:00:17'
2026-05-30 01:00:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 18, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1671, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 01:00:18'
2026-05-30 01:00:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 18, 418000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16707, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 01:00:18'
2026-05-30 01:00:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 20, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:00:20'
2026-05-30 01:00:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 22, 888000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:00:22'
2026-05-30 01:00:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 24, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:00:24'
2026-05-30 01:00:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 28, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:00:28'
2026-05-30 01:00:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 34, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 01:00:34'
2026-05-30 01:00:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 34, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 01:00:34'
2026-05-30 01:00:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 41, 509000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 01:00:41'
2026-05-30 01:00:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 42, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:00:42'
2026-05-30 01:00:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 43, 744000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 01:00:43'
2026-05-30 01:00:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 44, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 01:00:44'
2026-05-30 01:00:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 44, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 01:00:44'
2026-05-30 01:00:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 46, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 01:00:46'
2026-05-30 01:00:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 46, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 01:00:46'
2026-05-30 01:00:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 48, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 01:00:48'
2026-05-30 01:00:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 50, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 01:00:50'
2026-05-30 01:00:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 52, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 01:00:52'
2026-05-30 01:00:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 55, 660000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 01:00:55'
2026-05-30 01:00:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 0, 58, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 01:00:58'
2026-05-30 01:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 2, 125172, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.1657, 'low': 1.16509, 'close': 1.1652, 'volume': 27.0} | asctime='2026-05-30 01:01:02'
2026-05-30 01:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 2, 126055, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16679, 'high': 1.1671, 'low': 1.16651, 'close': 1.16676, 'volume': 27.0} | asctime='2026-05-30 01:01:02'
2026-05-30 01:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 2, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 01:01:02'
2026-05-30 01:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 2, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:01:02'
2026-05-30 01:01:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 3, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 01:01:03'
2026-05-30 01:01:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 4, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 01:01:04'
2026-05-30 01:01:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 6, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 01:01:06'
2026-05-30 01:01:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 7, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:01:07'
2026-05-30 01:01:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 8, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 01:01:08'
2026-05-30 01:01:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 8, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 01:01:08'
2026-05-30 01:01:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 12, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 01:01:12'
2026-05-30 01:01:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 16, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 01:01:16'
2026-05-30 01:01:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 27, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 01:01:27'
2026-05-30 01:01:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 30, 296000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 01:01:30'
2026-05-30 01:01:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 32, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 01:01:32'
2026-05-30 01:01:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 33, 27000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 01:01:33'
2026-05-30 01:01:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 34, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 01:01:34'
2026-05-30 01:01:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 44, 448000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 01:01:44'
2026-05-30 01:01:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 1, 56, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 01:01:56'
2026-05-30 01:02:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 8, 674580, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16567, 'low': 1.16522, 'close': 1.16567, 'volume': 17.0} | asctime='2026-05-30 01:02:08'
2026-05-30 01:02:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 8, 676658, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16697, 'low': 1.16648, 'close': 1.16657, 'volume': 17.0} | asctime='2026-05-30 01:02:08'
2026-05-30 01:02:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 8, 655000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:02:08'
2026-05-30 01:02:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 20, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 01:02:20'
2026-05-30 01:02:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 24, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:02:24'
2026-05-30 01:02:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 38, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 01:02:38'
2026-05-30 01:02:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 40, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 01:02:40'
2026-05-30 01:02:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 44, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16707, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 01:02:44'
2026-05-30 01:02:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 44, 656000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:02:44'
2026-05-30 01:02:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 50, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 01:02:50'
2026-05-30 01:02:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 2, 56, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:02:56'
2026-05-30 01:03:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 11, 823316, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16565, 'low': 1.16534, 'close': 1.16565, 'volume': 9.0} | asctime='2026-05-30 01:03:11'
2026-05-30 01:03:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 11, 825131, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1669, 'high': 1.16707, 'low': 1.16655, 'close': 1.16655, 'volume': 9.0} | asctime='2026-05-30 01:03:11'
2026-05-30 01:03:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 11, 843000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 01:03:11'
2026-05-30 01:03:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 16, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 01:03:16'
2026-05-30 01:03:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 32, 326000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 01:03:32'
2026-05-30 01:03:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 33, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:03:33'
2026-05-30 01:03:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 52, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:03:52'
2026-05-30 01:03:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 54, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:03:54'
2026-05-30 01:03:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 56, 36000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 01:03:56'
2026-05-30 01:03:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 3, 59, 884000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 01:03:59'
2026-05-30 01:04:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 4, 1, 25110, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1655, 'high': 1.16577, 'low': 1.16528, 'close': 1.16539, 'volume': 8.0} | asctime='2026-05-30 01:04:01'
2026-05-30 01:04:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 4, 1, 26198, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16697, 'low': 1.16656, 'close': 1.16695, 'volume': 8.0} | asctime='2026-05-30 01:04:01'
2026-05-30 01:04:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 4, 1, 1000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 01:04:01'
2026-05-30 01:04:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 4, 2, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 01:04:02'
2026-05-30 01:04:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 4, 24, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 01:04:24'
2026-05-30 01:04:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 4, 32, 37000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 01:04:32'
2026-05-30 01:04:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 4, 34, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 01:04:34'
2026-05-30 01:04:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 4, 56, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:04:56'
2026-05-30 01:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 0, 72850, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16563, 'low': 1.16531, 'close': 1.16531, 'volume': 6.0} | asctime='2026-05-30 01:05:00'
2026-05-30 01:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 0, 74490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16696, 'high': 1.16696, 'low': 1.16653, 'close': 1.16687, 'volume': 6.0} | asctime='2026-05-30 01:05:00'
2026-05-30 01:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 0, 75672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16523, 'high': 1.16577, 'low': 1.16509, 'close': 1.16531, 'volume': 67.0} | asctime='2026-05-30 01:05:00'
2026-05-30 01:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 0, 76685, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16679, 'high': 1.1671, 'low': 1.16648, 'close': 1.16687, 'volume': 67.0} | asctime='2026-05-30 01:05:00'
2026-05-30 01:05:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 0, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 01:05:00'
2026-05-30 01:05:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 11, 513000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 01:05:11'
2026-05-30 01:05:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 12, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 01:05:12'
2026-05-30 01:05:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 14, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 01:05:14'
2026-05-30 01:05:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 22, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 01:05:22'
2026-05-30 01:05:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 34, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 01:05:34'
2026-05-30 01:05:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 34, 730000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 01:05:34'
2026-05-30 01:05:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 36, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 01:05:36'
2026-05-30 01:05:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 38, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:05:38'
2026-05-30 01:05:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 46, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:05:46'
2026-05-30 01:05:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 48, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:05:48'
2026-05-30 01:05:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 49, 748000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:05:49'
2026-05-30 01:05:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 5, 51, 859000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 01:05:51'
2026-05-30 01:06:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 6, 6, 122044, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16568, 'low': 1.16512, 'close': 1.16548, 'volume': 13.0} | asctime='2026-05-30 01:06:06'
2026-05-30 01:06:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 6, 6, 122862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16692, 'high': 1.16692, 'low': 1.16649, 'close': 1.1668, 'volume': 13.0} | asctime='2026-05-30 01:06:06'
2026-05-30 01:06:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 6, 6, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 01:06:06'
2026-05-30 01:06:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 6, 7, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 01:06:07'
2026-05-30 01:06:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 6, 8, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 01:06:08'
2026-05-30 01:06:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 6, 24, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:06:24'
2026-05-30 01:07:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 7, 27, 71487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16546, 'high': 1.16569, 'low': 1.16546, 'close': 1.16569, 'volume': 4.0} | asctime='2026-05-30 01:07:27'
2026-05-30 01:07:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 7, 27, 72470, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16678, 'high': 1.16685, 'low': 1.16659, 'close': 1.16659, 'volume': 4.0} | asctime='2026-05-30 01:07:27'
2026-05-30 01:07:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 7, 27, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:07:27'
2026-05-30 01:08:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 18, 970579, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16565, 'low': 1.16565, 'close': 1.16565, 'volume': 1.0} | asctime='2026-05-30 01:08:18'
2026-05-30 01:08:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 18, 971679, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16655, 'close': 1.16655, 'volume': 1.0} | asctime='2026-05-30 01:08:18'
2026-05-30 01:08:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 18, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 01:08:18'
2026-05-30 01:08:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 21, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 01:08:21'
2026-05-30 01:08:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 21, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 01:08:21'
2026-05-30 01:08:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 23, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 01:08:23'
2026-05-30 01:08:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 30, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:08:30'
2026-05-30 01:08:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 31, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16587, 'volume': 0.0} | asctime='2026-05-30 01:08:31'
2026-05-30 01:08:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 41, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:08:41'
2026-05-30 01:08:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 41, 184000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 01:08:41'
2026-05-30 01:08:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 41, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 01:08:41'
2026-05-30 01:08:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 8, 50, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 01:08:50'
2026-05-30 01:09:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 2, 671056, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16571, 'high': 1.16587, 'low': 1.16535, 'close': 1.16583, 'volume': 10.0} | asctime='2026-05-30 01:09:02'
2026-05-30 01:09:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 2, 671957, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16691, 'low': 1.16651, 'close': 1.16673, 'volume': 10.0} | asctime='2026-05-30 01:09:02'
2026-05-30 01:09:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 2, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 01:09:02'
2026-05-30 01:09:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 17, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 01:09:17'
2026-05-30 01:09:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 25, 875000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 01:09:25'
2026-05-30 01:09:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 25, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 01:09:26'
2026-05-30 01:09:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 26, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16702, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 01:09:26'
2026-05-30 01:09:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 27, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16703, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 01:09:27'
2026-05-30 01:09:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 29, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:09:29'
2026-05-30 01:09:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 31, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 01:09:31'
2026-05-30 01:09:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 31, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 01:09:31'
2026-05-30 01:09:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 44, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 01:09:44'
2026-05-30 01:09:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 46, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 01:09:46'
2026-05-30 01:09:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 9, 56, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 01:09:56'
2026-05-30 01:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 18, 19479, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16573, 'low': 1.16543, 'close': 1.16558, 'volume': 12.0} | asctime='2026-05-30 01:10:18'
2026-05-30 01:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 18, 20521, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16699, 'high': 1.16703, 'low': 1.16653, 'close': 1.1669, 'volume': 12.0} | asctime='2026-05-30 01:10:18'
2026-05-30 01:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 18, 21768, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16536, 'high': 1.16587, 'low': 1.16512, 'close': 1.16558, 'volume': 40.0} | asctime='2026-05-30 01:10:18'
2026-05-30 01:10:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 18, 22766, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16692, 'high': 1.16703, 'low': 1.16649, 'close': 1.1669, 'volume': 40.0} | asctime='2026-05-30 01:10:18'
2026-05-30 01:10:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 18, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:10:18'
2026-05-30 01:10:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 18, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16708, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 01:10:18'
2026-05-30 01:10:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 18, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16712, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 01:10:18'
2026-05-30 01:10:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 20, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 01:10:20'
2026-05-30 01:10:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 22, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16582, 'volume': 0.0} | asctime='2026-05-30 01:10:22'
2026-05-30 01:10:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 36, 882000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 01:10:36'
2026-05-30 01:10:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 41, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 01:10:41'
2026-05-30 01:10:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 42, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 01:10:42'
2026-05-30 01:10:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 44, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 01:10:44'
2026-05-30 01:10:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 44, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 01:10:44'
2026-05-30 01:10:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 46, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 01:10:46'
2026-05-30 01:10:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 56, 993000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:10:56'
2026-05-30 01:10:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 10, 58, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:10:58'
2026-05-30 01:11:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 2, 69028, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16582, 'low': 1.16541, 'close': 1.16542, 'volume': 13.0} | asctime='2026-05-30 01:11:02'
2026-05-30 01:11:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 2, 69883, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16705, 'high': 1.16712, 'low': 1.1664, 'close': 1.16674, 'volume': 13.0} | asctime='2026-05-30 01:11:02'
2026-05-30 01:11:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 2, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 01:11:02'
2026-05-30 01:11:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 2, 951000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 01:11:02'
2026-05-30 01:11:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 4, 813000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 01:11:04'
2026-05-30 01:11:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 4, 937000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:11:04'
2026-05-30 01:11:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 5, 186000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:11:05'
2026-05-30 01:11:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 6, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:11:06'
2026-05-30 01:11:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 6, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 01:11:06'
2026-05-30 01:11:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 11, 6, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 01:11:06'
2026-05-30 01:12:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 12, 38, 768292, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1657, 'high': 1.16574, 'low': 1.16526, 'close': 1.16526, 'volume': 8.0} | asctime='2026-05-30 01:12:38'
2026-05-30 01:12:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 12, 38, 769251, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1669, 'low': 1.16658, 'close': 1.16682, 'volume': 8.0} | asctime='2026-05-30 01:12:38'
2026-05-30 01:12:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 12, 38, 790000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 01:12:38'
2026-05-30 01:12:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 12, 45, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 01:12:45'
2026-05-30 01:12:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 12, 49, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 01:12:49'
2026-05-30 01:13:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 13, 19, 117753, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16528, 'low': 1.16498, 'close': 1.16528, 'volume': 3.0} | asctime='2026-05-30 01:13:19'
2026-05-30 01:13:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 13, 19, 118820, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16678, 'high': 1.16684, 'low': 1.16678, 'close': 1.16684, 'volume': 3.0} | asctime='2026-05-30 01:13:19'
2026-05-30 01:13:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 13, 19, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:13:19'
2026-05-30 01:13:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 13, 21, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 01:13:21'
2026-05-30 01:13:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 13, 24, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:13:24'
2026-05-30 01:13:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 13, 25, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 01:13:25'
2026-05-30 01:13:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 13, 27, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:13:27'
2026-05-30 01:13:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 13, 29, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 01:13:29'
2026-05-30 01:14:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 14, 16, 866641, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16568, 'low': 1.1653, 'close': 1.16568, 'volume': 6.0} | asctime='2026-05-30 01:14:16'
2026-05-30 01:14:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 14, 16, 868594, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16686, 'low': 1.16654, 'close': 1.16658, 'volume': 6.0} | asctime='2026-05-30 01:14:16'
2026-05-30 01:14:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 14, 16, 858000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 01:14:16'
2026-05-30 01:14:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 14, 19, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:14:19'
2026-05-30 01:14:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 14, 26, 541000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 01:14:26'
2026-05-30 01:14:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 14, 27, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 01:14:27'
2026-05-30 01:15:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 21, 416471, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16578, 'low': 1.16553, 'close': 1.16578, 'volume': 4.0} | asctime='2026-05-30 01:15:21'
2026-05-30 01:15:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 21, 417470, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16685, 'low': 1.16659, 'close': 1.16668, 'volume': 4.0} | asctime='2026-05-30 01:15:21'
2026-05-30 01:15:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 21, 418769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16549, 'high': 1.16582, 'low': 1.16498, 'close': 1.16578, 'volume': 34.0} | asctime='2026-05-30 01:15:21'
2026-05-30 01:15:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 21, 420199, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16705, 'high': 1.16712, 'low': 1.1664, 'close': 1.16668, 'volume': 34.0} | asctime='2026-05-30 01:15:21'
2026-05-30 01:15:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 21, 420787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16523, 'high': 1.16587, 'low': 1.16498, 'close': 1.16578, 'volume': 141.0} | asctime='2026-05-30 01:15:21'
2026-05-30 01:15:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 21, 422337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16679, 'high': 1.16712, 'low': 1.1664, 'close': 1.16668, 'volume': 141.0} | asctime='2026-05-30 01:15:21'
2026-05-30 01:15:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 21, 411000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 01:15:21'
2026-05-30 01:15:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 21, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 01:15:21'
2026-05-30 01:15:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 21, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 01:15:21'
2026-05-30 01:15:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 22, 652000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:15:22'
2026-05-30 01:15:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 23, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 01:15:23'
2026-05-30 01:15:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 51, 452000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 01:15:51'
2026-05-30 01:15:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 15, 51, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 01:15:51'
2026-05-30 01:16:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 1, 115998, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.1657, 'low': 1.16533, 'close': 1.1654, 'volume': 7.0} | asctime='2026-05-30 01:16:01'
2026-05-30 01:16:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 1, 117049, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16689, 'high': 1.16696, 'low': 1.16654, 'close': 1.16672, 'volume': 7.0} | asctime='2026-05-30 01:16:01'
2026-05-30 01:16:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 1, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:16:01'
2026-05-30 01:16:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 19, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 01:16:19'
2026-05-30 01:16:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 21, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 01:16:21'
2026-05-30 01:16:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 27, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16702, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 01:16:27'
2026-05-30 01:16:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 36, 764000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 01:16:36'
2026-05-30 01:16:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 37, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:16:37'
2026-05-30 01:16:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 46, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 01:16:46'
2026-05-30 01:16:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 47, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 01:16:47'
2026-05-30 01:16:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 49, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.1658, 'volume': 0.0} | asctime='2026-05-30 01:16:49'
2026-05-30 01:16:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 16, 50, 295000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 01:16:50'
2026-05-30 01:17:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 17, 1, 115524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16569, 'high': 1.1658, 'low': 1.16522, 'close': 1.16551, 'volume': 10.0} | asctime='2026-05-30 01:17:01'
2026-05-30 01:17:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 17, 1, 116511, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16702, 'low': 1.16659, 'close': 1.16683, 'volume': 10.0} | asctime='2026-05-30 01:17:01'
2026-05-30 01:17:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 17, 1, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 01:17:01'
2026-05-30 01:18:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 18, 10, 715060, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16563, 'high': 1.16563, 'low': 1.16563, 'close': 1.16563, 'volume': 1.0} | asctime='2026-05-30 01:18:10'
2026-05-30 01:18:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 18, 10, 716203, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16653, 'low': 1.16653, 'close': 1.16653, 'volume': 1.0} | asctime='2026-05-30 01:18:10'
2026-05-30 01:18:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 18, 10, 737000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:18:10'
2026-05-30 01:18:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 18, 10, 861000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16709, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 01:18:10'
2026-05-30 01:18:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 18, 11, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 01:18:11'
2026-05-30 01:18:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 18, 13, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:18:13'
2026-05-30 01:18:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 18, 34, 944000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 01:18:34'
2026-05-30 01:18:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 18, 44, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 01:18:44'
2026-05-30 01:18:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 18, 53, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16591, 'volume': 0.0} | asctime='2026-05-30 01:18:53'
2026-05-30 01:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 3, 614311, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16591, 'low': 1.16505, 'close': 1.16591, 'volume': 7.0} | asctime='2026-05-30 01:19:03'
2026-05-30 01:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 3, 615009, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16709, 'low': 1.16659, 'close': 1.16681, 'volume': 7.0} | asctime='2026-05-30 01:19:03'
2026-05-30 01:19:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 3, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1671, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:19:03'
2026-05-30 01:19:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 11, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 01:19:11'
2026-05-30 01:19:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 15, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 01:19:15'
2026-05-30 01:19:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 15, 289000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:19:15'
2026-05-30 01:19:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 15, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:19:15'
2026-05-30 01:19:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 17, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 01:19:17'
2026-05-30 01:19:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 33, 42000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 01:19:33'
2026-05-30 01:19:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 35, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 01:19:35'
2026-05-30 01:19:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 39, 869000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 01:19:39'
2026-05-30 01:19:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 40, 241000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 01:19:40'
2026-05-30 01:19:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 48, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:19:48'
2026-05-30 01:19:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 49, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:19:49'
2026-05-30 01:19:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 19, 51, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 01:19:51'
2026-05-30 01:20:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 5, 63467, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16554, 'high': 1.16579, 'low': 1.16541, 'close': 1.1656, 'volume': 13.0} | asctime='2026-05-30 01:20:05'
2026-05-30 01:20:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 5, 64459, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1671, 'high': 1.1671, 'low': 1.16658, 'close': 1.16692, 'volume': 13.0} | asctime='2026-05-30 01:20:05'
2026-05-30 01:20:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 5, 65676, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16533, 'high': 1.16591, 'low': 1.16505, 'close': 1.1656, 'volume': 38.0} | asctime='2026-05-30 01:20:05'
2026-05-30 01:20:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 5, 66257, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16689, 'high': 1.1671, 'low': 1.16653, 'close': 1.16692, 'volume': 38.0} | asctime='2026-05-30 01:20:05'
2026-05-30 01:20:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 5, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 01:20:05'
2026-05-30 01:20:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 5, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 01:20:05'
2026-05-30 01:20:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 6, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:20:06'
2026-05-30 01:20:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 7, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 01:20:07'
2026-05-30 01:20:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 8, 794000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 01:20:08'
2026-05-30 01:20:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 9, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 01:20:09'
2026-05-30 01:20:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 11, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:20:11'
2026-05-30 01:20:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 12, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 01:20:12'
2026-05-30 01:20:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 13, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 01:20:13'
2026-05-30 01:20:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 18, 726000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:20:18'
2026-05-30 01:20:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 20, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 01:20:20'
2026-05-30 01:20:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 21, 208000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 01:20:21'
2026-05-30 01:20:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 22, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 01:20:22'
2026-05-30 01:20:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 23, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 01:20:23'
2026-05-30 01:20:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 23, 442000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 01:20:23'
2026-05-30 01:20:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 27, 788000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 01:20:27'
2026-05-30 01:20:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 28, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 01:20:28'
2026-05-30 01:20:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 55, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 01:20:55'
2026-05-30 01:20:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 20, 56, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 01:20:56'
2026-05-30 01:21:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 2, 912764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16568, 'high': 1.16578, 'low': 1.16515, 'close': 1.16557, 'volume': 19.0} | asctime='2026-05-30 01:21:02'
2026-05-30 01:21:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 2, 913552, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16698, 'low': 1.16639, 'close': 1.16689, 'volume': 19.0} | asctime='2026-05-30 01:21:02'
2026-05-30 01:21:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 2, 924000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:21:02'
2026-05-30 01:21:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 5, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 01:21:05'
2026-05-30 01:21:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 7, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 01:21:07'
2026-05-30 01:21:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 13, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 01:21:13'
2026-05-30 01:21:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 23, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 01:21:23'
2026-05-30 01:21:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 23, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 01:21:23'
2026-05-30 01:21:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 25, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 01:21:25'
2026-05-30 01:21:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 32, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 01:21:32'
2026-05-30 01:21:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 33, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 01:21:33'
2026-05-30 01:21:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 21, 50, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 01:21:50'
2026-05-30 01:22:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 22, 24, 362566, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16573, 'low': 1.16529, 'close': 1.16571, 'volume': 10.0} | asctime='2026-05-30 01:22:24'
2026-05-30 01:22:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 22, 24, 363282, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16693, 'high': 1.16693, 'low': 1.1665, 'close': 1.16661, 'volume': 10.0} | asctime='2026-05-30 01:22:24'
2026-05-30 01:22:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 22, 24, 356000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 01:22:24'
2026-05-30 01:22:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 22, 26, 341000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 01:22:26'
2026-05-30 01:22:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 22, 27, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 01:22:27'
2026-05-30 01:23:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 11, 261546, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1655, 'high': 1.16579, 'low': 1.1655, 'close': 1.16574, 'volume': 3.0} | asctime='2026-05-30 01:23:11'
2026-05-30 01:23:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 11, 262493, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16664, 'close': 1.16664, 'volume': 3.0} | asctime='2026-05-30 01:23:11'
2026-05-30 01:23:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 11, 280000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 01:23:11'
2026-05-30 01:23:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 13, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 01:23:13'
2026-05-30 01:23:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 16, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 01:23:16'
2026-05-30 01:23:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 17, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 01:23:17'
2026-05-30 01:23:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 25, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.1658, 'volume': 0.0} | asctime='2026-05-30 01:23:25'
2026-05-30 01:23:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 31, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:23:31'
2026-05-30 01:23:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 40, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16593, 'volume': 0.0} | asctime='2026-05-30 01:23:40'
2026-05-30 01:23:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 51, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16587, 'volume': 0.0} | asctime='2026-05-30 01:23:51'
2026-05-30 01:23:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 53, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16581, 'volume': 0.0} | asctime='2026-05-30 01:23:53'
2026-05-30 01:23:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 23, 53, 860000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 01:23:53'
2026-05-30 01:24:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 26, 361777, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16546, 'high': 1.16593, 'low': 1.16545, 'close': 1.16575, 'volume': 10.0} | asctime='2026-05-30 01:24:26'
2026-05-30 01:24:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 26, 362577, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16678, 'high': 1.16705, 'low': 1.16661, 'close': 1.16665, 'volume': 10.0} | asctime='2026-05-30 01:24:26'
2026-05-30 01:24:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 26, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 01:24:26'
2026-05-30 01:24:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 34, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:24:34'
2026-05-30 01:24:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 35, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 01:24:35'
2026-05-30 01:24:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 37, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:24:37'
2026-05-30 01:24:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 45, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:24:46'
2026-05-30 01:24:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 48, 732000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 01:24:48'
2026-05-30 01:24:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 48, 861000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 01:24:48'
2026-05-30 01:24:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 49, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:24:49'
2026-05-30 01:24:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 50, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 01:24:50'
2026-05-30 01:24:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 24, 50, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 01:24:50'
2026-05-30 01:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 2, 260298, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16569, 'low': 1.16538, 'close': 1.1656, 'volume': 10.0} | asctime='2026-05-30 01:25:02'
2026-05-30 01:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 2, 260963, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16675, 'high': 1.16699, 'low': 1.1665, 'close': 1.1665, 'volume': 10.0} | asctime='2026-05-30 01:25:02'
2026-05-30 01:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 2, 262162, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16568, 'high': 1.16593, 'low': 1.16515, 'close': 1.1656, 'volume': 52.0} | asctime='2026-05-30 01:25:02'
2026-05-30 01:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 2, 262719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16705, 'low': 1.16639, 'close': 1.1665, 'volume': 52.0} | asctime='2026-05-30 01:25:02'
2026-05-30 01:25:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 2, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 01:25:02'
2026-05-30 01:25:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 3, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 01:25:03'
2026-05-30 01:25:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 12, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 01:25:12'
2026-05-30 01:25:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 12, 937000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:25:12'
2026-05-30 01:25:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 14, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:25:14'
2026-05-30 01:25:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 28, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 01:25:28'
2026-05-30 01:25:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 30, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 01:25:30'
2026-05-30 01:25:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 25, 34, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 01:25:34'
2026-05-30 01:26:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 26, 0, 959454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16563, 'high': 1.16572, 'low': 1.16535, 'close': 1.16572, 'volume': 8.0} | asctime='2026-05-30 01:26:00'
2026-05-30 01:26:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 26, 0, 961141, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16688, 'low': 1.16653, 'close': 1.16662, 'volume': 8.0} | asctime='2026-05-30 01:26:00'
2026-05-30 01:26:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 26, 0, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:26:00'
2026-05-30 01:26:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 26, 4, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:26:04'
2026-05-30 01:26:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 26, 11, 779000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:26:11'
2026-05-30 01:26:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 26, 50, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 01:26:50'
2026-05-30 01:27:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 27, 18, 308942, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16573, 'low': 1.16542, 'close': 1.16573, 'volume': 4.0} | asctime='2026-05-30 01:27:18'
2026-05-30 01:27:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 27, 18, 309747, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16674, 'low': 1.16644, 'close': 1.16663, 'volume': 4.0} | asctime='2026-05-30 01:27:18'
2026-05-30 01:27:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 27, 18, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 01:27:18'
2026-05-30 01:27:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 27, 20, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:27:20'
2026-05-30 01:28:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 28, 21, 857688, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1657, 'high': 1.1657, 'low': 1.16565, 'close': 1.16565, 'volume': 2.0} | asctime='2026-05-30 01:28:21'
2026-05-30 01:28:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 28, 21, 859245, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1666, 'low': 1.16655, 'close': 1.16655, 'volume': 2.0} | asctime='2026-05-30 01:28:21'
2026-05-30 01:28:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 28, 21, 878000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 01:28:21'
2026-05-30 01:28:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 28, 23, 492000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 01:28:23'
2026-05-30 01:29:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 29, 50, 107017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.16539, 'low': 1.1653, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 01:29:50'
2026-05-30 01:29:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 29, 50, 108113, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16686, 'high': 1.16686, 'low': 1.16671, 'close': 1.16671, 'volume': 2.0} | asctime='2026-05-30 01:29:50'
2026-05-30 01:29:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 29, 50, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 01:29:50'
2026-05-30 01:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 0, 207474, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1657, 'high': 1.1657, 'low': 1.1657, 'close': 1.1657, 'volume': 1.0} | asctime='2026-05-30 01:30:00'
2026-05-30 01:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 0, 208591, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1666, 'low': 1.1666, 'close': 1.1666, 'volume': 1.0} | asctime='2026-05-30 01:30:00'
2026-05-30 01:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 0, 210007, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16563, 'high': 1.16573, 'low': 1.1653, 'close': 1.1657, 'volume': 17.0} | asctime='2026-05-30 01:30:00'
2026-05-30 01:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 0, 211126, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16653, 'high': 1.16688, 'low': 1.16644, 'close': 1.1666, 'volume': 17.0} | asctime='2026-05-30 01:30:00'
2026-05-30 01:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 0, 212239, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16533, 'high': 1.16593, 'low': 1.16505, 'close': 1.1657, 'volume': 107.0} | asctime='2026-05-30 01:30:00'
2026-05-30 01:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 0, 213667, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16689, 'high': 1.1671, 'low': 1.16639, 'close': 1.1666, 'volume': 107.0} | asctime='2026-05-30 01:30:00'
2026-05-30 01:30:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 0, 196000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:30:00'
2026-05-30 01:30:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 0, 320000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 01:30:00'
2026-05-30 01:30:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 2, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 01:30:02'
2026-05-30 01:30:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 4, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:30:04'
2026-05-30 01:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 40, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 01:30:40'
2026-05-30 01:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 40, 418000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:30:40'
2026-05-30 01:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 40, 915000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 01:30:40'
2026-05-30 01:30:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 42, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 01:30:42'
2026-05-30 01:30:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 43, 25000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:30:43'
2026-05-30 01:30:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 50, 473000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 01:30:50'
2026-05-30 01:30:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 50, 845000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:30:50'
2026-05-30 01:30:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 50, 969000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 01:30:50'
2026-05-30 01:30:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 30, 51, 466000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 01:30:51'
2026-05-30 01:31:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 0, 156280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16542, 'low': 1.16515, 'close': 1.16528, 'volume': 13.0} | asctime='2026-05-30 01:31:00'
2026-05-30 01:31:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 0, 157024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16684, 'low': 1.16631, 'close': 1.16684, 'volume': 13.0} | asctime='2026-05-30 01:31:00'
2026-05-30 01:31:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 0, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 01:31:00'
2026-05-30 01:31:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 3, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 01:31:03'
2026-05-30 01:31:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 16, 791000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:31:16'
2026-05-30 01:31:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 26, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 01:31:26'
2026-05-30 01:31:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 28, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:31:28'
2026-05-30 01:31:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 29, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:31:29'
2026-05-30 01:31:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 29, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 01:31:29'
2026-05-30 01:31:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 34, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 01:31:34'
2026-05-30 01:31:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 38, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:31:38'
2026-05-30 01:31:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 38, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 01:31:38'
2026-05-30 01:31:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 40, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 01:31:40'
2026-05-30 01:31:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 42, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:31:42'
2026-05-30 01:31:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 42, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 01:31:42'
2026-05-30 01:31:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 42, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:31:42'
2026-05-30 01:31:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 43, 357000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 01:31:43'
2026-05-30 01:31:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 44, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 01:31:44'
2026-05-30 01:31:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 44, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 01:31:44'
2026-05-30 01:31:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 46, 833000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 01:31:46'
2026-05-30 01:31:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 48, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:31:48'
2026-05-30 01:31:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 31, 58, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 01:31:58'
2026-05-30 01:32:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 0, 105970, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16575, 'low': 1.16521, 'close': 1.16575, 'volume': 20.0} | asctime='2026-05-30 01:32:00'
2026-05-30 01:32:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 0, 106836, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16701, 'low': 1.16635, 'close': 1.16665, 'volume': 20.0} | asctime='2026-05-30 01:32:00'
2026-05-30 01:32:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 0, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 01:32:00'
2026-05-30 01:32:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 4, 336000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 01:32:04'
2026-05-30 01:32:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 14, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 01:32:14'
2026-05-30 01:32:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 37, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 01:32:37'
2026-05-30 01:32:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 37, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 01:32:37'
2026-05-30 01:32:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 38, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 01:32:38'
2026-05-30 01:32:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 40, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 01:32:40'
2026-05-30 01:32:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 42, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:32:42'
2026-05-30 01:32:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 47, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:32:47'
2026-05-30 01:32:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 48, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 01:32:48'
2026-05-30 01:32:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 49, 27000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:32:49'
2026-05-30 01:32:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 56, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 01:32:56'
2026-05-30 01:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 32, 58, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 01:32:58'
2026-05-30 01:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 33, 0, 55368, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16574, 'high': 1.16574, 'low': 1.1652, 'close': 1.16557, 'volume': 13.0} | asctime='2026-05-30 01:33:00'
2026-05-30 01:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 33, 0, 56865, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16689, 'low': 1.16649, 'close': 1.16689, 'volume': 13.0} | asctime='2026-05-30 01:33:00'
2026-05-30 01:33:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 33, 0, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 01:33:00'
2026-05-30 01:34:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 34, 12, 954686, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16569, 'high': 1.16569, 'low': 1.16569, 'close': 1.16569, 'volume': 1.0} | asctime='2026-05-30 01:34:12'
2026-05-30 01:34:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 34, 12, 955571, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16659, 'low': 1.16659, 'close': 1.16659, 'volume': 1.0} | asctime='2026-05-30 01:34:12'
2026-05-30 01:34:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 34, 12, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16702, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 01:34:12'
2026-05-30 01:34:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 34, 23, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 01:34:23'
2026-05-30 01:34:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 34, 51, 677000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 01:34:51'
2026-05-30 01:35:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 35, 3, 104274, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16546, 'high': 1.16558, 'low': 1.16533, 'close': 1.16533, 'volume': 3.0} | asctime='2026-05-30 01:35:03'
2026-05-30 01:35:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 35, 3, 105102, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16702, 'high': 1.16702, 'low': 1.16689, 'close': 1.16689, 'volume': 3.0} | asctime='2026-05-30 01:35:03'
2026-05-30 01:35:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 35, 3, 106300, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16542, 'high': 1.16575, 'low': 1.16515, 'close': 1.16533, 'volume': 50.0} | asctime='2026-05-30 01:35:03'
2026-05-30 01:35:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 35, 3, 106807, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16674, 'high': 1.16702, 'low': 1.16631, 'close': 1.16689, 'volume': 50.0} | asctime='2026-05-30 01:35:03'
2026-05-30 01:35:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 35, 3, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 01:35:03'
2026-05-30 01:35:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 35, 5, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 01:35:05'
2026-05-30 01:35:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 35, 11, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:35:11'
2026-05-30 01:35:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 35, 34, 380000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:35:34'
2026-05-30 01:35:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 35, 39, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16585, 'volume': 0.0} | asctime='2026-05-30 01:35:39'
2026-05-30 01:36:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 36, 1, 804871, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16585, 'low': 1.16536, 'close': 1.16585, 'volume': 5.0} | asctime='2026-05-30 01:36:01'
2026-05-30 01:36:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 36, 1, 806019, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16692, 'high': 1.16692, 'low': 1.16655, 'close': 1.16675, 'volume': 5.0} | asctime='2026-05-30 01:36:01'
2026-05-30 01:36:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 36, 1, 816000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 01:36:01'
2026-05-30 01:36:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 36, 40, 796000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:36:40'
2026-05-30 01:36:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 36, 41, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 01:36:41'
2026-05-30 01:36:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 36, 44, 396000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:36:44'
2026-05-30 01:37:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 37, 3, 3442, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16553, 'low': 1.16534, 'close': 1.16542, 'volume': 4.0} | asctime='2026-05-30 01:37:03'
2026-05-30 01:37:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 37, 3, 4464, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.1669, 'low': 1.1667, 'close': 1.16674, 'volume': 4.0} | asctime='2026-05-30 01:37:03'
2026-05-30 01:37:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 37, 3, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 01:37:03'
2026-05-30 01:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 37, 32, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 01:37:32'
2026-05-30 01:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 37, 41, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:37:41'
2026-05-30 01:39:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 12, 601723, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16567, 'high': 1.16567, 'low': 1.16565, 'close': 1.16565, 'volume': 3.0} | asctime='2026-05-30 01:39:12'
2026-05-30 01:39:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 12, 602906, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16657, 'low': 1.16655, 'close': 1.16655, 'volume': 3.0} | asctime='2026-05-30 01:39:12'
2026-05-30 01:39:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 12, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 01:39:12'
2026-05-30 01:39:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 13, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.1658, 'volume': 0.0} | asctime='2026-05-30 01:39:13'
2026-05-30 01:39:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 19, 818000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 01:39:19'
2026-05-30 01:39:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 21, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 01:39:21'
2026-05-30 01:39:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 29, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 01:39:29'
2026-05-30 01:39:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 32, 231000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 01:39:32'
2026-05-30 01:39:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 38, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 01:39:38'
2026-05-30 01:39:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 38, 811000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 01:39:38'
2026-05-30 01:39:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 39, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:39:39'
2026-05-30 01:39:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 39, 43, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 01:39:43'
2026-05-30 01:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 3, 1052, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.1658, 'low': 1.16528, 'close': 1.16543, 'volume': 10.0} | asctime='2026-05-30 01:40:03'
2026-05-30 01:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 3, 2119, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16699, 'low': 1.16633, 'close': 1.16633, 'volume': 10.0} | asctime='2026-05-30 01:40:03'
2026-05-30 01:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 3, 3498, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16536, 'high': 1.16585, 'low': 1.16528, 'close': 1.16543, 'volume': 22.0} | asctime='2026-05-30 01:40:03'
2026-05-30 01:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 3, 4010, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16692, 'high': 1.16699, 'low': 1.16633, 'close': 1.16633, 'volume': 22.0} | asctime='2026-05-30 01:40:03'
2026-05-30 01:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 3, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 01:40:03'
2026-05-30 01:40:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 7, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 01:40:07'
2026-05-30 01:40:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 9, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 01:40:09'
2026-05-30 01:40:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 15, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 01:40:15'
2026-05-30 01:40:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 16, 301000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:40:16'
2026-05-30 01:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 22, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 01:40:22'
2026-05-30 01:40:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 25, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:40:25'
2026-05-30 01:40:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 32, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 01:40:32'
2026-05-30 01:40:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 33, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 01:40:33'
2026-05-30 01:40:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 51, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 01:40:51'
2026-05-30 01:40:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 40, 55, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 01:40:55'
2026-05-30 01:41:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 1, 100998, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16556, 'low': 1.16519, 'close': 1.1653, 'volume': 11.0} | asctime='2026-05-30 01:41:01'
2026-05-30 01:41:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 1, 102433, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16686, 'low': 1.16639, 'close': 1.16686, 'volume': 11.0} | asctime='2026-05-30 01:41:01'
2026-05-30 01:41:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 1, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:41:01'
2026-05-30 01:41:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 10, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:41:10'
2026-05-30 01:41:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 15, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:41:15'
2026-05-30 01:41:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 19, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:41:19'
2026-05-30 01:41:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 27, 929000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 01:41:27'
2026-05-30 01:41:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 29, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 01:41:29'
2026-05-30 01:41:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 31, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 01:41:31'
2026-05-30 01:41:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 31, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 01:41:31'
2026-05-30 01:41:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 33, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 01:41:33'
2026-05-30 01:41:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 35, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 01:41:35'
2026-05-30 01:41:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 41, 41, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 01:41:41'
2026-05-30 01:42:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 43, 899296, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16567, 'low': 1.16522, 'close': 1.16567, 'volume': 11.0} | asctime='2026-05-30 01:42:43'
2026-05-30 01:42:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 43, 900325, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16693, 'high': 1.16698, 'low': 1.16648, 'close': 1.16657, 'volume': 11.0} | asctime='2026-05-30 01:42:43'
2026-05-30 01:42:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 43, 903000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:42:43'
2026-05-30 01:42:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 45, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16581, 'volume': 0.0} | asctime='2026-05-30 01:42:45'
2026-05-30 01:42:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 50, 234000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:42:50'
2026-05-30 01:42:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 52, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 01:42:52'
2026-05-30 01:42:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 53, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 01:42:53'
2026-05-30 01:42:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 53, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 01:42:53'
2026-05-30 01:42:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 55, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:42:55'
2026-05-30 01:42:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 42, 58, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:42:58'
2026-05-30 01:43:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 43, 3, 746, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16554, 'high': 1.16581, 'low': 1.16531, 'close': 1.16531, 'volume': 8.0} | asctime='2026-05-30 01:43:03'
2026-05-30 01:43:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 43, 3, 1558, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16686, 'high': 1.16701, 'low': 1.16655, 'close': 1.16687, 'volume': 8.0} | asctime='2026-05-30 01:43:03'
2026-05-30 01:43:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 43, 3, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 01:43:03'
2026-05-30 01:43:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 43, 42, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:43:42'
2026-05-30 01:43:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 43, 53, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:43:53'
2026-05-30 01:44:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 44, 22, 598748, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16537, 'low': 1.16518, 'close': 1.16537, 'volume': 3.0} | asctime='2026-05-30 01:44:22'
2026-05-30 01:44:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 44, 22, 599868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16698, 'high': 1.16698, 'low': 1.16688, 'close': 1.16693, 'volume': 3.0} | asctime='2026-05-30 01:44:22'
2026-05-30 01:44:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 44, 22, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:44:22'
2026-05-30 01:44:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 44, 23, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 01:44:23'
2026-05-30 01:44:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 44, 25, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 01:44:25'
2026-05-30 01:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 4, 47740, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16562, 'low': 1.16534, 'close': 1.16561, 'volume': 3.0} | asctime='2026-05-30 01:45:04'
2026-05-30 01:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 4, 49303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1669, 'high': 1.1669, 'low': 1.16651, 'close': 1.16651, 'volume': 3.0} | asctime='2026-05-30 01:45:04'
2026-05-30 01:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 4, 49949, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16523, 'high': 1.16581, 'low': 1.16518, 'close': 1.16561, 'volume': 36.0} | asctime='2026-05-30 01:45:04'
2026-05-30 01:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 4, 50524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16655, 'high': 1.16701, 'low': 1.16639, 'close': 1.16651, 'volume': 36.0} | asctime='2026-05-30 01:45:04'
2026-05-30 01:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 4, 51185, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16542, 'high': 1.16585, 'low': 1.16515, 'close': 1.16561, 'volume': 108.0} | asctime='2026-05-30 01:45:04'
2026-05-30 01:45:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 4, 51787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16674, 'high': 1.16702, 'low': 1.16631, 'close': 1.16651, 'volume': 108.0} | asctime='2026-05-30 01:45:04'
2026-05-30 01:45:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 4, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 01:45:04'
2026-05-30 01:45:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 29, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 01:45:29'
2026-05-30 01:45:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 33, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 01:45:33'
2026-05-30 01:45:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 36, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16592, 'volume': 0.0} | asctime='2026-05-30 01:45:36'
2026-05-30 01:45:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 39, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 01:45:39'
2026-05-30 01:45:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 39, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 01:45:39'
2026-05-30 01:45:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 39, 685000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 01:45:39'
2026-05-30 01:45:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 40, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 01:45:40'
2026-05-30 01:45:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 44, 279000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 01:45:44'
2026-05-30 01:45:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 45, 50, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 01:45:50'
2026-05-30 01:46:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 46, 6, 597510, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16566, 'high': 1.16592, 'low': 1.16541, 'close': 1.1656, 'volume': 10.0} | asctime='2026-05-30 01:46:06'
2026-05-30 01:46:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 46, 6, 598335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16697, 'low': 1.16656, 'close': 1.16692, 'volume': 10.0} | asctime='2026-05-30 01:46:06'
2026-05-30 01:46:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 46, 6, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 01:46:06'
2026-05-30 01:46:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 46, 6, 748000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:46:06'
2026-05-30 01:46:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 46, 8, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 01:46:08'
2026-05-30 01:46:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 46, 10, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 01:46:10'
2026-05-30 01:48:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 3, 46363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16564, 'low': 1.16531, 'close': 1.16564, 'volume': 4.0} | asctime='2026-05-30 01:48:03'
2026-05-30 01:48:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 3, 47460, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16689, 'high': 1.16689, 'low': 1.16652, 'close': 1.16654, 'volume': 4.0} | asctime='2026-05-30 01:48:03'
2026-05-30 01:48:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 3, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 01:48:03'
2026-05-30 01:48:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 4, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 01:48:04'
2026-05-30 01:48:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 9, 275000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 01:48:09'
2026-05-30 01:48:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 9, 398000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 01:48:09'
2026-05-30 01:48:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 10, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 01:48:10'
2026-05-30 01:48:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 12, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:48:12'
2026-05-30 01:48:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 52, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 01:48:52'
2026-05-30 01:48:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 54, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 01:48:54'
2026-05-30 01:48:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 48, 58, 931000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 01:48:58'
2026-05-30 01:49:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 49, 4, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1657, 'high': 1.16579, 'low': 1.16532, 'close': 1.16532, 'volume': 9.0} | asctime='2026-05-30 01:49:04'
2026-05-30 01:49:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 49, 4, 148039, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.16694, 'low': 1.16655, 'close': 1.16688, 'volume': 9.0} | asctime='2026-05-30 01:49:04'
2026-05-30 01:49:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 49, 4, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 01:49:04'
2026-05-30 01:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 49, 30, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16702, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 01:49:30'
2026-05-30 01:49:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 49, 34, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 01:49:34'
2026-05-30 01:49:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 49, 40, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 01:49:40'
2026-05-30 01:50:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 18, 595335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16559, 'high': 1.16564, 'low': 1.16519, 'close': 1.16564, 'volume': 4.0} | asctime='2026-05-30 01:50:18'
2026-05-30 01:50:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 18, 596498, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16691, 'high': 1.16702, 'low': 1.16654, 'close': 1.16654, 'volume': 4.0} | asctime='2026-05-30 01:50:18'
2026-05-30 01:50:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 18, 597207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16566, 'high': 1.16592, 'low': 1.16519, 'close': 1.16564, 'volume': 27.0} | asctime='2026-05-30 01:50:18'
2026-05-30 01:50:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 18, 597717, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16656, 'high': 1.16702, 'low': 1.16652, 'close': 1.16654, 'volume': 27.0} | asctime='2026-05-30 01:50:18'
2026-05-30 01:50:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 18, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:50:18'
2026-05-30 01:50:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 30, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:50:30'
2026-05-30 01:50:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 34, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16724, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 01:50:33'
2026-05-30 01:50:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 36, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 01:50:36'
2026-05-30 01:50:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 38, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 01:50:38'
2026-05-30 01:50:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 40, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:50:40'
2026-05-30 01:50:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 50, 42, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:50:42'
2026-05-30 01:51:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 51, 3, 444298, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16554, 'low': 1.1652, 'close': 1.16554, 'volume': 7.0} | asctime='2026-05-30 01:51:03'
2026-05-30 01:51:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 51, 3, 446142, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16724, 'low': 1.16666, 'close': 1.16686, 'volume': 7.0} | asctime='2026-05-30 01:51:03'
2026-05-30 01:51:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 51, 3, 444000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 01:51:03'
2026-05-30 01:51:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 51, 3, 942000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:51:03'
2026-05-30 01:51:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 51, 5, 554000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 01:51:05'
2026-05-30 01:51:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 51, 6, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 01:51:06'
2026-05-30 01:51:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 51, 10, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 01:51:10'
2026-05-30 01:51:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 51, 12, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 01:51:12'
2026-05-30 01:51:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 51, 58, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 01:51:58'
2026-05-30 01:52:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 10, 97591, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16548, 'high': 1.16571, 'low': 1.16527, 'close': 1.16557, 'volume': 7.0} | asctime='2026-05-30 01:52:10'
2026-05-30 01:52:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 10, 98570, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1668, 'high': 1.1669, 'low': 1.16647, 'close': 1.16647, 'volume': 7.0} | asctime='2026-05-30 01:52:10'
2026-05-30 01:52:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 10, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 01:52:10'
2026-05-30 01:52:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 12, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 01:52:12'
2026-05-30 01:52:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 18, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 01:52:18'
2026-05-30 01:52:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 18, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 01:52:18'
2026-05-30 01:52:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 21, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 01:52:20'
2026-05-30 01:52:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 22, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 01:52:22'
2026-05-30 01:52:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 22, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 01:52:22'
2026-05-30 01:52:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 22, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:52:22'
2026-05-30 01:52:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 24, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:52:24'
2026-05-30 01:52:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 29, 972000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 01:52:29'
2026-05-30 01:52:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 30, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 01:52:30'
2026-05-30 01:52:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 32, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 01:52:32'
2026-05-30 01:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 34, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 01:52:34'
2026-05-30 01:52:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 39, 901000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 01:52:39'
2026-05-30 01:52:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 42, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 01:52:42'
2026-05-30 01:52:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 46, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 01:52:46'
2026-05-30 01:52:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 48, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 01:52:48'
2026-05-30 01:52:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 52, 59, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 01:52:59'
2026-05-30 01:53:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 53, 4, 93474, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16554, 'high': 1.16564, 'low': 1.16513, 'close': 1.16513, 'volume': 18.0} | asctime='2026-05-30 01:53:04'
2026-05-30 01:53:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 53, 4, 94224, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16644, 'high': 1.16699, 'low': 1.16641, 'close': 1.16669, 'volume': 18.0} | asctime='2026-05-30 01:53:04'
2026-05-30 01:53:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 53, 4, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:53:04'
2026-05-30 01:53:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 53, 16, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 01:53:16'
2026-05-30 01:53:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 53, 30, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 01:53:30'
2026-05-30 01:53:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 53, 40, 233000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 01:53:40'
2026-05-30 01:53:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 53, 42, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 01:53:42'
2026-05-30 01:54:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 0, 293158, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16568, 'low': 1.16525, 'close': 1.16568, 'volume': 5.0} | asctime='2026-05-30 01:54:00'
2026-05-30 01:54:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 0, 294152, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16646, 'close': 1.16658, 'volume': 5.0} | asctime='2026-05-30 01:54:00'
2026-05-30 01:54:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 0, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 01:54:00'
2026-05-30 01:54:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 10, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 01:54:10'
2026-05-30 01:54:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 12, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 01:54:12'
2026-05-30 01:54:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 14, 495000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 01:54:14'
2026-05-30 01:54:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 16, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 01:54:16'
2026-05-30 01:54:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 18, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 01:54:18'
2026-05-30 01:54:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 34, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 01:54:34'
2026-05-30 01:54:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 53, 848000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 01:54:53'
2026-05-30 01:54:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 53, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 01:54:53'
2026-05-30 01:54:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 54, 344000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 01:54:54'
2026-05-30 01:54:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 56, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 01:54:56'
2026-05-30 01:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 54, 58, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 01:54:58'
2026-05-30 01:55:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 55, 2, 992966, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16574, 'low': 1.16529, 'close': 1.16568, 'volume': 12.0} | asctime='2026-05-30 01:55:02'
2026-05-30 01:55:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 55, 2, 994517, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16694, 'low': 1.16657, 'close': 1.16658, 'volume': 12.0} | asctime='2026-05-30 01:55:02'
2026-05-30 01:55:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 55, 2, 995084, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16534, 'high': 1.16574, 'low': 1.16513, 'close': 1.16568, 'volume': 49.0} | asctime='2026-05-30 01:55:02'
2026-05-30 01:55:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 55, 2, 995578, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16666, 'high': 1.16724, 'low': 1.16641, 'close': 1.16658, 'volume': 49.0} | asctime='2026-05-30 01:55:02'
2026-05-30 01:55:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 55, 3, 35000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 01:55:02'
2026-05-30 01:57:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 57, 32, 590071, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16565, 'low': 1.16565, 'close': 1.16565, 'volume': 1.0} | asctime='2026-05-30 01:57:32'
2026-05-30 01:57:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 57, 32, 592480, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16655, 'close': 1.16655, 'volume': 1.0} | asctime='2026-05-30 01:57:32'
2026-05-30 01:57:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 57, 32, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 01:57:32'
2026-05-30 01:57:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 57, 46, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 01:57:46'
2026-05-30 01:59:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 59, 1, 489888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16563, 'high': 1.16563, 'low': 1.16562, 'close': 1.16562, 'volume': 2.0} | asctime='2026-05-30 01:59:01'
2026-05-30 01:59:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 59, 1, 491426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16653, 'low': 1.16652, 'close': 1.16652, 'volume': 2.0} | asctime='2026-05-30 01:59:01'
2026-05-30 01:59:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 59, 1, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 01:59:01'
2026-05-30 01:59:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 59, 26, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 01:59:26'
2026-05-30 01:59:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 59, 28, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16582, 'volume': 0.0} | asctime='2026-05-30 01:59:28'
2026-05-30 01:59:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 59, 54, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 01:59:54'
2026-05-30 01:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 1, 59, 56, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 01:59:56'
2026-05-30 02:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 3, 39009, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16582, 'low': 1.16549, 'close': 1.16567, 'volume': 5.0} | asctime='2026-05-30 02:00:03'
2026-05-30 02:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 3, 40196, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16683, 'low': 1.16657, 'close': 1.16657, 'volume': 5.0} | asctime='2026-05-30 02:00:03'
2026-05-30 02:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 3, 41545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16565, 'high': 1.16582, 'low': 1.16549, 'close': 1.16567, 'volume': 8.0} | asctime='2026-05-30 02:00:03'
2026-05-30 02:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 3, 43163, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16655, 'high': 1.16683, 'low': 1.16652, 'close': 1.16657, 'volume': 8.0} | asctime='2026-05-30 02:00:03'
2026-05-30 02:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 3, 43727, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16566, 'high': 1.16592, 'low': 1.16513, 'close': 1.16567, 'volume': 84.0} | asctime='2026-05-30 02:00:03'
2026-05-30 02:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 3, 45168, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16656, 'high': 1.16724, 'low': 1.16641, 'close': 1.16657, 'volume': 84.0} | asctime='2026-05-30 02:00:03'
2026-05-30 02:00:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 3, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 02:00:03'
2026-05-30 02:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 9, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 02:00:09'
2026-05-30 02:00:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 12, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 02:00:12'
2026-05-30 02:00:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 13, 754000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 02:00:13'
2026-05-30 02:00:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 13, 878000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16723, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 02:00:13'
2026-05-30 02:00:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 14, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1671, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 02:00:14'
2026-05-30 02:00:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 14, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 02:00:14'
2026-05-30 02:00:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 16, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 02:00:16'
2026-05-30 02:00:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 18, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 02:00:18'
2026-05-30 02:00:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 25, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 02:00:25'
2026-05-30 02:00:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 26, 913000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 02:00:26'
2026-05-30 02:00:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 32, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 02:00:32'
2026-05-30 02:00:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 34, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 02:00:34'
2026-05-30 02:00:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 36, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:00:36'
2026-05-30 02:00:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 36, 721000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 02:00:36'
2026-05-30 02:00:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 38, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 02:00:38'
2026-05-30 02:00:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 0, 40, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 02:00:40'
2026-05-30 02:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 1, 2, 988530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16564, 'high': 1.16572, 'low': 1.16495, 'close': 1.16572, 'volume': 17.0} | asctime='2026-05-30 02:01:02'
2026-05-30 02:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 1, 2, 989200, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16723, 'low': 1.16638, 'close': 1.16662, 'volume': 17.0} | asctime='2026-05-30 02:01:02'
2026-05-30 02:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 1, 3, 39000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 02:01:02'
2026-05-30 02:01:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 1, 8, 377000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16726, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 02:01:08'
2026-05-30 02:01:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 1, 9, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1671, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 02:01:09'
2026-05-30 02:01:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 1, 11, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 02:01:11'
2026-05-30 02:01:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 1, 12, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.1658, 'volume': 0.0} | asctime='2026-05-30 02:01:12'
2026-05-30 02:01:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 1, 16, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 02:01:16'
2026-05-30 02:01:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 1, 28, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 02:01:28'
2026-05-30 02:02:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 2, 16, 637441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1656, 'high': 1.1658, 'low': 1.16522, 'close': 1.16562, 'volume': 7.0} | asctime='2026-05-30 02:02:16'
2026-05-30 02:02:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 2, 16, 638263, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16692, 'high': 1.16726, 'low': 1.16652, 'close': 1.16652, 'volume': 7.0} | asctime='2026-05-30 02:02:16'
2026-05-30 02:02:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 2, 16, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 02:02:16'
2026-05-30 02:02:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 2, 26, 336000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 02:02:26'
2026-05-30 02:02:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 2, 26, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 02:02:26'
2026-05-30 02:02:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 2, 28, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 02:02:28'
2026-05-30 02:02:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 2, 34, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 02:02:34'
2026-05-30 02:02:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 2, 36, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 02:02:36'
2026-05-30 02:02:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 2, 38, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 02:02:38'
2026-05-30 02:03:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 3, 20, 536968, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16551, 'high': 1.16578, 'low': 1.1653, 'close': 1.16578, 'volume': 7.0} | asctime='2026-05-30 02:03:20'
2026-05-30 02:03:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 3, 20, 537811, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16683, 'high': 1.16701, 'low': 1.16648, 'close': 1.16648, 'volume': 7.0} | asctime='2026-05-30 02:03:20'
2026-05-30 02:03:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 3, 20, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 02:03:20'
2026-05-30 02:03:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 3, 38, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 02:03:38'
2026-05-30 02:03:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 3, 42, 930000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 02:03:42'
2026-05-30 02:03:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 3, 44, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 02:03:44'
2026-05-30 02:03:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 3, 46, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 02:03:46'
2026-05-30 02:03:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 3, 48, 20000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 02:03:47'
2026-05-30 02:03:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 3, 56, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 02:03:56'
2026-05-30 02:04:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 4, 4, 136744, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16574, 'high': 1.16574, 'low': 1.16519, 'close': 1.16523, 'volume': 7.0} | asctime='2026-05-30 02:04:04'
2026-05-30 02:04:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 4, 4, 137543, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16679, 'low': 1.16648, 'close': 1.16679, 'volume': 7.0} | asctime='2026-05-30 02:04:04'
2026-05-30 02:04:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 4, 4, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 02:04:04'
2026-05-30 02:04:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 4, 56, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:04:56'
2026-05-30 02:04:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 4, 58, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 02:04:58'
2026-05-30 02:05:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 10, 785589, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16566, 'low': 1.1654, 'close': 1.16566, 'volume': 3.0} | asctime='2026-05-30 02:05:10'
2026-05-30 02:05:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 10, 787046, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16673, 'low': 1.16656, 'close': 1.16656, 'volume': 3.0} | asctime='2026-05-30 02:05:10'
2026-05-30 02:05:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 10, 788277, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16564, 'high': 1.1658, 'low': 1.16495, 'close': 1.16566, 'volume': 41.0} | asctime='2026-05-30 02:05:10'
2026-05-30 02:05:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 10, 789169, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16654, 'high': 1.16726, 'low': 1.16638, 'close': 1.16656, 'volume': 41.0} | asctime='2026-05-30 02:05:10'
2026-05-30 02:05:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 10, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 02:05:10'
2026-05-30 02:05:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 18, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 02:05:17'
2026-05-30 02:05:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 20, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 02:05:20'
2026-05-30 02:05:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 22, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 02:05:22'
2026-05-30 02:05:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 24, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 02:05:24'
2026-05-30 02:05:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 5, 28, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:05:28'
2026-05-30 02:06:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 6, 37, 84592, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16565, 'low': 1.16512, 'close': 1.16565, 'volume': 6.0} | asctime='2026-05-30 02:06:37'
2026-05-30 02:06:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 6, 37, 85472, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16678, 'high': 1.16692, 'low': 1.16655, 'close': 1.16655, 'volume': 6.0} | asctime='2026-05-30 02:06:37'
2026-05-30 02:06:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 6, 37, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 02:06:37'
2026-05-30 02:06:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 6, 48, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 02:06:48'
2026-05-30 02:07:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 7, 0, 535297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16546, 'low': 1.16525, 'close': 1.16546, 'volume': 2.0} | asctime='2026-05-30 02:07:00'
2026-05-30 02:07:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 7, 0, 536083, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16681, 'low': 1.16678, 'close': 1.16678, 'volume': 2.0} | asctime='2026-05-30 02:07:00'
2026-05-30 02:07:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 7, 0, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 02:07:00'
2026-05-30 02:07:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 7, 2, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 02:07:02'
2026-05-30 02:07:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 7, 4, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 02:07:04'
2026-05-30 02:07:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 7, 52, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:07:52'
2026-05-30 02:08:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 8, 3, 83987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16547, 'high': 1.16568, 'low': 1.16547, 'close': 1.16565, 'volume': 4.0} | asctime='2026-05-30 02:08:03'
2026-05-30 02:08:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 8, 3, 84778, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16679, 'high': 1.16679, 'low': 1.16649, 'close': 1.16655, 'volume': 4.0} | asctime='2026-05-30 02:08:03'
2026-05-30 02:08:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 8, 3, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 02:08:03'
2026-05-30 02:09:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 9, 0, 84090, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16559, 'high': 1.16559, 'low': 1.16559, 'close': 1.16559, 'volume': 1.0} | asctime='2026-05-30 02:09:00'
2026-05-30 02:09:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 9, 0, 85054, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16649, 'low': 1.16649, 'close': 1.16649, 'volume': 1.0} | asctime='2026-05-30 02:09:00'
2026-05-30 02:09:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 9, 0, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 02:09:00'
2026-05-30 02:09:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 9, 32, 260000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 02:09:32'
2026-05-30 02:09:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 9, 57, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 02:09:57'
2026-05-30 02:10:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 10, 23, 133207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16562, 'low': 1.16553, 'close': 1.16562, 'volume': 3.0} | asctime='2026-05-30 02:10:23'
2026-05-30 02:10:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 10, 23, 134037, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16652, 'low': 1.16643, 'close': 1.16652, 'volume': 3.0} | asctime='2026-05-30 02:10:23'
2026-05-30 02:10:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 10, 23, 135612, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16522, 'high': 1.16568, 'low': 1.16512, 'close': 1.16562, 'volume': 16.0} | asctime='2026-05-30 02:10:23'
2026-05-30 02:10:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 10, 23, 136845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16678, 'high': 1.16692, 'low': 1.16643, 'close': 1.16652, 'volume': 16.0} | asctime='2026-05-30 02:10:23'
2026-05-30 02:10:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 10, 23, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:10:23'
2026-05-30 02:10:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 10, 34, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 02:10:34'
2026-05-30 02:10:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 10, 35, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 02:10:35'
2026-05-30 02:11:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 11, 10, 32021, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16567, 'low': 1.16565, 'close': 1.16567, 'volume': 3.0} | asctime='2026-05-30 02:11:10'
2026-05-30 02:11:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 11, 10, 34126, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16657, 'low': 1.16655, 'close': 1.16657, 'volume': 3.0} | asctime='2026-05-30 02:11:10'
2026-05-30 02:11:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 11, 10, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 02:11:10'
2026-05-30 02:11:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 11, 47, 324000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:11:47'
2026-05-30 02:11:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 11, 57, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 02:11:57'
2026-05-30 02:12:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 3, 32086, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16571, 'high': 1.16571, 'low': 1.16541, 'close': 1.16567, 'volume': 3.0} | asctime='2026-05-30 02:12:03'
2026-05-30 02:12:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 3, 33049, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16673, 'low': 1.16657, 'close': 1.16657, 'volume': 3.0} | asctime='2026-05-30 02:12:03'
2026-05-30 02:12:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 3, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 02:12:03'
2026-05-30 02:12:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 5, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 02:12:05'
2026-05-30 02:12:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 30, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 02:12:30'
2026-05-30 02:12:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 30, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 02:12:30'
2026-05-30 02:12:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 31, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 02:12:31'
2026-05-30 02:12:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 33, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 02:12:33'
2026-05-30 02:12:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 36, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 02:12:36'
2026-05-30 02:12:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 45, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:12:45'
2026-05-30 02:12:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 12, 58, 580000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 02:12:58'
2026-05-30 02:13:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 13, 25, 980886, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16566, 'low': 1.16528, 'close': 1.16559, 'volume': 9.0} | asctime='2026-05-30 02:13:25'
2026-05-30 02:13:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 13, 25, 981885, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16685, 'low': 1.16644, 'close': 1.16649, 'volume': 9.0} | asctime='2026-05-30 02:13:25'
2026-05-30 02:13:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 13, 26, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 02:13:25'
2026-05-30 02:13:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 13, 35, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 02:13:35'
2026-05-30 02:13:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 13, 46, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 02:13:46'
2026-05-30 02:14:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 14, 2, 80469, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16566, 'low': 1.16542, 'close': 1.16555, 'volume': 3.0} | asctime='2026-05-30 02:14:02'
2026-05-30 02:14:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 14, 2, 81546, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16687, 'low': 1.16656, 'close': 1.16687, 'volume': 3.0} | asctime='2026-05-30 02:14:02'
2026-05-30 02:14:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 14, 2, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16587, 'volume': 0.0} | asctime='2026-05-30 02:14:02'
2026-05-30 02:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 15, 1, 179779, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16587, 'high': 1.16587, 'low': 1.16587, 'close': 1.16587, 'volume': 1.0} | asctime='2026-05-30 02:15:01'
2026-05-30 02:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 15, 1, 180917, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.16677, 'low': 1.16677, 'close': 1.16677, 'volume': 1.0} | asctime='2026-05-30 02:15:01'
2026-05-30 02:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 15, 1, 182120, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16565, 'high': 1.16587, 'low': 1.16528, 'close': 1.16587, 'volume': 19.0} | asctime='2026-05-30 02:15:01'
2026-05-30 02:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 15, 1, 182612, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16655, 'high': 1.16687, 'low': 1.16644, 'close': 1.16677, 'volume': 19.0} | asctime='2026-05-30 02:15:01'
2026-05-30 02:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 15, 1, 183063, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16564, 'high': 1.16587, 'low': 1.16495, 'close': 1.16587, 'volume': 76.0} | asctime='2026-05-30 02:15:01'
2026-05-30 02:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 15, 1, 183488, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16654, 'high': 1.16726, 'low': 1.16638, 'close': 1.16677, 'volume': 76.0} | asctime='2026-05-30 02:15:01'
2026-05-30 02:15:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 15, 1, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 02:15:01'
2026-05-30 02:15:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 15, 3, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 02:15:03'
2026-05-30 02:15:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 15, 33, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 02:15:33'
2026-05-30 02:16:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 16, 23, 629170, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16554, 'high': 1.16554, 'low': 1.16538, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 02:16:23'
2026-05-30 02:16:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 16, 23, 630405, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16686, 'high': 1.16686, 'low': 1.1667, 'close': 1.16671, 'volume': 3.0} | asctime='2026-05-30 02:16:23'
2026-05-30 02:16:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 16, 23, 660000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 02:16:23'
2026-05-30 02:16:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 16, 24, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 02:16:24'
2026-05-30 02:17:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 26, 928280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16569, 'low': 1.1654, 'close': 1.16569, 'volume': 2.0} | asctime='2026-05-30 02:17:26'
2026-05-30 02:17:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 26, 935233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16672, 'low': 1.16659, 'close': 1.16659, 'volume': 2.0} | asctime='2026-05-30 02:17:26'
2026-05-30 02:17:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 26, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 02:17:26'
2026-05-30 02:17:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 27, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 02:17:27'
2026-05-30 02:17:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 28, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 02:17:28'
2026-05-30 02:17:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 30, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 02:17:30'
2026-05-30 02:17:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 31, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 02:17:31'
2026-05-30 02:17:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 32, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 02:17:32'
2026-05-30 02:17:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 33, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 02:17:33'
2026-05-30 02:17:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 17, 38, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 02:17:38'
2026-05-30 02:18:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 18, 40, 28049, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16545, 'low': 1.16515, 'close': 1.16545, 'volume': 8.0} | asctime='2026-05-30 02:18:40'
2026-05-30 02:18:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 18, 40, 29342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16683, 'low': 1.16668, 'close': 1.16677, 'volume': 8.0} | asctime='2026-05-30 02:18:40'
2026-05-30 02:18:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 18, 40, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 02:18:40'
2026-05-30 02:18:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 18, 58, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 02:18:58'
2026-05-30 02:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 19, 3, 627613, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16547, 'low': 1.16538, 'close': 1.16547, 'volume': 2.0} | asctime='2026-05-30 02:19:03'
2026-05-30 02:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 19, 3, 628745, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.16679, 'low': 1.1667, 'close': 1.16679, 'volume': 2.0} | asctime='2026-05-30 02:19:03'
2026-05-30 02:19:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 19, 3, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 02:19:03'
2026-05-30 02:19:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 19, 6, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 02:19:06'
2026-05-30 02:19:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 19, 17, 828000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 02:19:17'
2026-05-30 02:19:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 19, 20, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 02:19:20'
2026-05-30 02:19:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 19, 56, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 02:19:56'
2026-05-30 02:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 1, 127567, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16578, 'low': 1.16537, 'close': 1.16572, 'volume': 5.0} | asctime='2026-05-30 02:20:01'
2026-05-30 02:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 1, 128566, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16693, 'high': 1.16693, 'low': 1.16662, 'close': 1.16662, 'volume': 5.0} | asctime='2026-05-30 02:20:01'
2026-05-30 02:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 1, 130155, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16554, 'high': 1.16578, 'low': 1.16515, 'close': 1.16572, 'volume': 20.0} | asctime='2026-05-30 02:20:01'
2026-05-30 02:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 1, 131373, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16686, 'high': 1.16693, 'low': 1.16659, 'close': 1.16662, 'volume': 20.0} | asctime='2026-05-30 02:20:01'
2026-05-30 02:20:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 1, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 02:20:01'
2026-05-30 02:20:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 2, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 02:20:02'
2026-05-30 02:20:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 3, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 02:20:02'
2026-05-30 02:20:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 3, 759000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 02:20:03'
2026-05-30 02:20:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 4, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 02:20:04'
2026-05-30 02:20:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 14, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 02:20:14'
2026-05-30 02:20:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 20, 33, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 02:20:33'
2026-05-30 02:21:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 21, 26, 275838, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16559, 'low': 1.16536, 'close': 1.16553, 'volume': 7.0} | asctime='2026-05-30 02:21:26'
2026-05-30 02:21:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 21, 26, 277722, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16694, 'low': 1.16643, 'close': 1.16643, 'volume': 7.0} | asctime='2026-05-30 02:21:26'
2026-05-30 02:21:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 21, 26, 314000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 02:21:26'
2026-05-30 02:21:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 21, 28, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 02:21:28'
2026-05-30 02:21:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 21, 48, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 02:21:48'
2026-05-30 02:21:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 21, 49, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 02:21:49'
2026-05-30 02:21:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 21, 50, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 02:21:50'
2026-05-30 02:21:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 21, 52, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 02:21:52'
2026-05-30 02:22:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 22, 40, 125346, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16577, 'low': 1.16514, 'close': 1.16577, 'volume': 6.0} | asctime='2026-05-30 02:22:40'
2026-05-30 02:22:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 22, 40, 126354, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16696, 'high': 1.16696, 'low': 1.16667, 'close': 1.16667, 'volume': 6.0} | asctime='2026-05-30 02:22:40'
2026-05-30 02:22:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 22, 40, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 02:22:40'
2026-05-30 02:22:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 22, 42, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 02:22:42'
2026-05-30 02:22:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 22, 44, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 02:22:44'
2026-05-30 02:23:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 23, 10, 193560, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16558, 'low': 1.16545, 'close': 1.16558, 'volume': 3.0} | asctime='2026-05-30 02:23:10'
2026-05-30 02:23:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 23, 10, 194327, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.16678, 'low': 1.16648, 'close': 1.16648, 'volume': 3.0} | asctime='2026-05-30 02:23:10'
2026-05-30 02:23:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 23, 10, 219000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 02:23:10'
2026-05-30 02:23:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 23, 15, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 02:23:15'
2026-05-30 02:23:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 23, 15, 804000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 02:23:15'
2026-05-30 02:23:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 23, 16, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 02:23:16'
2026-05-30 02:23:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 23, 35, 295000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 02:23:35'
2026-05-30 02:23:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 23, 46, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 02:23:46'
2026-05-30 02:25:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 25, 40, 373410, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.1657, 'low': 1.1652, 'close': 1.16557, 'volume': 6.0} | asctime='2026-05-30 02:25:40'
2026-05-30 02:25:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 25, 40, 374697, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16676, 'low': 1.16647, 'close': 1.16647, 'volume': 6.0} | asctime='2026-05-30 02:25:40'
2026-05-30 02:25:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 25, 40, 375945, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16544, 'high': 1.16577, 'low': 1.16514, 'close': 1.16557, 'volume': 22.0} | asctime='2026-05-30 02:25:40'
2026-05-30 02:25:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 25, 40, 376541, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16676, 'high': 1.16696, 'low': 1.16643, 'close': 1.16647, 'volume': 22.0} | asctime='2026-05-30 02:25:40'
2026-05-30 02:25:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 25, 40, 429000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 02:25:40'
2026-05-30 02:25:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 25, 47, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:25:47'
2026-05-30 02:26:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 26, 5, 73742, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16559, 'high': 1.16565, 'low': 1.16559, 'close': 1.16565, 'volume': 2.0} | asctime='2026-05-30 02:26:05'
2026-05-30 02:26:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 26, 5, 74568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16655, 'low': 1.16649, 'close': 1.16655, 'volume': 2.0} | asctime='2026-05-30 02:26:05'
2026-05-30 02:26:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 26, 5, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 02:26:05'
2026-05-30 02:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 26, 56, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 02:26:56'
2026-05-30 02:27:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 27, 3, 923604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16571, 'high': 1.16571, 'low': 1.16566, 'close': 1.16566, 'volume': 2.0} | asctime='2026-05-30 02:27:03'
2026-05-30 02:27:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 27, 3, 924648, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16656, 'close': 1.16656, 'volume': 2.0} | asctime='2026-05-30 02:27:03'
2026-05-30 02:27:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 27, 3, 974000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 02:27:03'
2026-05-30 02:27:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 27, 18, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 02:27:18'
2026-05-30 02:27:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 27, 20, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 02:27:20'
2026-05-30 02:27:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 27, 24, 333000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:27:24'
2026-05-30 02:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 27, 28, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 02:27:28'
2026-05-30 02:27:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 27, 50, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 02:27:50'
2026-05-30 02:27:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 27, 52, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 02:27:52'
2026-05-30 02:28:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 28, 16, 572241, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16576, 'low': 1.16525, 'close': 1.16576, 'volume': 7.0} | asctime='2026-05-30 02:28:16'
2026-05-30 02:28:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 28, 16, 573417, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16685, 'low': 1.16656, 'close': 1.16666, 'volume': 7.0} | asctime='2026-05-30 02:28:16'
2026-05-30 02:28:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 28, 16, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 02:28:16'
2026-05-30 02:28:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 28, 18, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 02:28:18'
2026-05-30 02:28:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 28, 32, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:28:32'
2026-05-30 02:28:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 28, 34, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 02:28:34'
2026-05-30 02:29:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 29, 55, 122168, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16546, 'high': 1.1657, 'low': 1.16541, 'close': 1.1657, 'volume': 4.0} | asctime='2026-05-30 02:29:55'
2026-05-30 02:29:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 29, 55, 123100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16678, 'high': 1.16678, 'low': 1.1666, 'close': 1.1666, 'volume': 4.0} | asctime='2026-05-30 02:29:55'
2026-05-30 02:29:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 29, 55, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:29:55'
2026-05-30 02:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 20, 320926, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16565, 'low': 1.16565, 'close': 1.16565, 'volume': 1.0} | asctime='2026-05-30 02:30:20'
2026-05-30 02:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 20, 322040, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16655, 'close': 1.16655, 'volume': 1.0} | asctime='2026-05-30 02:30:20'
2026-05-30 02:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 20, 323306, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16559, 'high': 1.16576, 'low': 1.16525, 'close': 1.16565, 'volume': 16.0} | asctime='2026-05-30 02:30:20'
2026-05-30 02:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 20, 323935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16649, 'high': 1.16685, 'low': 1.16649, 'close': 1.16655, 'volume': 16.0} | asctime='2026-05-30 02:30:20'
2026-05-30 02:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 20, 324380, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16554, 'high': 1.16578, 'low': 1.16514, 'close': 1.16565, 'volume': 58.0} | asctime='2026-05-30 02:30:20'
2026-05-30 02:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 20, 324797, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16686, 'high': 1.16696, 'low': 1.16643, 'close': 1.16655, 'volume': 58.0} | asctime='2026-05-30 02:30:20'
2026-05-30 02:30:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 20, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 02:30:20'
2026-05-30 02:30:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 27, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 02:30:27'
2026-05-30 02:30:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 30, 295000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 02:30:30'
2026-05-30 02:30:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 35, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16704, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 02:30:35'
2026-05-30 02:30:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 36, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16707, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 02:30:36'
2026-05-30 02:30:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 43, 826000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 02:30:43'
2026-05-30 02:30:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 50, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 02:30:50'
2026-05-30 02:30:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 50, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:30:50'
2026-05-30 02:30:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 52, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 02:30:52'
2026-05-30 02:30:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 54, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 02:30:54'
2026-05-30 02:30:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 54, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 02:30:54'
2026-05-30 02:30:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 30, 56, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 02:30:56'
2026-05-30 02:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 31, 4, 21813, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16568, 'high': 1.16572, 'low': 1.16519, 'close': 1.16559, 'volume': 12.0} | asctime='2026-05-30 02:31:04'
2026-05-30 02:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 31, 4, 22761, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16707, 'low': 1.16649, 'close': 1.16649, 'volume': 12.0} | asctime='2026-05-30 02:31:04'
2026-05-30 02:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 31, 4, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 02:31:04'
2026-05-30 02:31:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 31, 6, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 02:31:06'
2026-05-30 02:33:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 20, 169335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16556, 'high': 1.16556, 'low': 1.16553, 'close': 1.16553, 'volume': 2.0} | asctime='2026-05-30 02:33:20'
2026-05-30 02:33:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 20, 170429, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16646, 'low': 1.16643, 'close': 1.16643, 'volume': 2.0} | asctime='2026-05-30 02:33:20'
2026-05-30 02:33:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 20, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 02:33:20'
2026-05-30 02:33:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 21, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 02:33:21'
2026-05-30 02:33:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 22, 354000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 02:33:22'
2026-05-30 02:33:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 22, 727000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 02:33:22'
2026-05-30 02:33:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 23, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 02:33:23'
2026-05-30 02:33:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 40, 727000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16703, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 02:33:40'
2026-05-30 02:33:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 44, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:33:44'
2026-05-30 02:33:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 46, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 02:33:46'
2026-05-30 02:33:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 47, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.1658, 'volume': 0.0} | asctime='2026-05-30 02:33:47'
2026-05-30 02:33:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 54, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 02:33:54'
2026-05-30 02:33:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 33, 56, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:33:56'
2026-05-30 02:34:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 1, 18745, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1655, 'high': 1.1658, 'low': 1.16531, 'close': 1.16541, 'volume': 11.0} | asctime='2026-05-30 02:34:01'
2026-05-30 02:34:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 1, 19481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16703, 'low': 1.1664, 'close': 1.16697, 'volume': 11.0} | asctime='2026-05-30 02:34:01'
2026-05-30 02:34:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 1, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 02:34:01'
2026-05-30 02:34:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 2, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 02:34:02'
2026-05-30 02:34:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 3, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 02:34:03'
2026-05-30 02:34:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 5, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 02:34:05'
2026-05-30 02:34:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 17, 969000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 02:34:17'
2026-05-30 02:34:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 19, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:34:19'
2026-05-30 02:34:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 28, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 02:34:28'
2026-05-30 02:34:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 29, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 02:34:29'
2026-05-30 02:34:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 34, 53, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16706, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 02:34:53'
2026-05-30 02:35:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 35, 3, 117981, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16567, 'low': 1.16528, 'close': 1.1655, 'volume': 9.0} | asctime='2026-05-30 02:35:03'
2026-05-30 02:35:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 35, 3, 118761, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16706, 'low': 1.16664, 'close': 1.16706, 'volume': 9.0} | asctime='2026-05-30 02:35:03'
2026-05-30 02:35:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 35, 3, 119910, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16568, 'high': 1.1658, 'low': 1.16519, 'close': 1.1655, 'volume': 34.0} | asctime='2026-05-30 02:35:03'
2026-05-30 02:35:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 35, 3, 120723, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16707, 'low': 1.1664, 'close': 1.16706, 'volume': 34.0} | asctime='2026-05-30 02:35:03'
2026-05-30 02:35:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 35, 3, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 02:35:03'
2026-05-30 02:35:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 35, 58, 771000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 02:35:58'
2026-05-30 02:35:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 35, 59, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 02:35:59'
2026-05-30 02:35:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 35, 59, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 02:35:59'
2026-05-30 02:35:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 35, 59, 764000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 02:35:59'
2026-05-30 02:36:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 36, 1, 67719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16556, 'high': 1.16556, 'low': 1.1653, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 02:36:01'
2026-05-30 02:36:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 36, 1, 69332, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16688, 'high': 1.1669, 'low': 1.16671, 'close': 1.16671, 'volume': 5.0} | asctime='2026-05-30 02:36:01'
2026-05-30 02:36:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 36, 1, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 02:36:01'
2026-05-30 02:36:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 36, 49, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 02:36:49'
2026-05-30 02:37:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 37, 44, 219248, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16564, 'high': 1.16567, 'low': 1.16564, 'close': 1.16567, 'volume': 2.0} | asctime='2026-05-30 02:37:44'
2026-05-30 02:37:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 37, 44, 220385, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16657, 'low': 1.16654, 'close': 1.16657, 'volume': 2.0} | asctime='2026-05-30 02:37:44'
2026-05-30 02:37:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 37, 44, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 02:37:44'
2026-05-30 02:37:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 37, 48, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16702, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 02:37:48'
2026-05-30 02:37:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 37, 51, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 02:37:51'
2026-05-30 02:38:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 38, 10, 316303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16549, 'low': 1.16519, 'close': 1.16549, 'volume': 3.0} | asctime='2026-05-30 02:38:10'
2026-05-30 02:38:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 38, 10, 317315, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16675, 'high': 1.16705, 'low': 1.16675, 'close': 1.16705, 'volume': 3.0} | asctime='2026-05-30 02:38:10'
2026-05-30 02:38:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 38, 10, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16704, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 02:38:10'
2026-05-30 02:38:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 38, 11, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 02:38:11'
2026-05-30 02:38:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 38, 19, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 02:38:19'
2026-05-30 02:38:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 38, 21, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 02:38:21'
2026-05-30 02:39:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 39, 1, 965303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16548, 'high': 1.16556, 'low': 1.16542, 'close': 1.16553, 'volume': 4.0} | asctime='2026-05-30 02:39:01'
2026-05-30 02:39:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 39, 1, 966328, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16704, 'high': 1.16704, 'low': 1.16643, 'close': 1.16643, 'volume': 4.0} | asctime='2026-05-30 02:39:01'
2026-05-30 02:39:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 39, 2, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 02:39:01'
2026-05-30 02:39:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 39, 20, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 02:39:20'
2026-05-30 02:39:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 39, 46, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 02:39:46'
2026-05-30 02:39:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 39, 53, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 02:39:53'
2026-05-30 02:39:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 39, 54, 513000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 02:39:54'
2026-05-30 02:39:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 39, 56, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 02:39:56'
2026-05-30 02:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 40, 0, 64623, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16569, 'low': 1.16515, 'close': 1.16532, 'volume': 6.0} | asctime='2026-05-30 02:40:00'
2026-05-30 02:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 40, 0, 65457, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16695, 'low': 1.16646, 'close': 1.16688, 'volume': 6.0} | asctime='2026-05-30 02:40:00'
2026-05-30 02:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 40, 0, 66178, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16556, 'high': 1.16569, 'low': 1.16515, 'close': 1.16532, 'volume': 20.0} | asctime='2026-05-30 02:40:00'
2026-05-30 02:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 40, 0, 66749, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16688, 'high': 1.16705, 'low': 1.16643, 'close': 1.16688, 'volume': 20.0} | asctime='2026-05-30 02:40:00'
2026-05-30 02:40:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 40, 0, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 02:40:00'
2026-05-30 02:40:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 40, 2, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 02:40:02'
2026-05-30 02:40:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 40, 50, 4000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 02:40:49'
2026-05-30 02:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 41, 2, 863976, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.1657, 'low': 1.16525, 'close': 1.16525, 'volume': 3.0} | asctime='2026-05-30 02:41:02'
2026-05-30 02:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 41, 2, 864764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16681, 'low': 1.1666, 'close': 1.16681, 'volume': 3.0} | asctime='2026-05-30 02:41:02'
2026-05-30 02:41:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 41, 2, 913000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1671, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 02:41:02'
2026-05-30 02:41:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 41, 4, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 02:41:04'
2026-05-30 02:41:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 41, 6, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 02:41:06'
2026-05-30 02:41:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 41, 8, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 02:41:08'
2026-05-30 02:41:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 41, 54, 928000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 02:41:54'
2026-05-30 02:41:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 41, 56, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16584, 'volume': 0.0} | asctime='2026-05-30 02:41:56'
2026-05-30 02:41:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 41, 58, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16585, 'volume': 0.0} | asctime='2026-05-30 02:41:58'
2026-05-30 02:42:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 42, 1, 813920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16585, 'low': 1.16506, 'close': 1.16585, 'volume': 7.0} | asctime='2026-05-30 02:42:01'
2026-05-30 02:42:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 42, 1, 815530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1671, 'high': 1.1671, 'low': 1.16655, 'close': 1.16655, 'volume': 7.0} | asctime='2026-05-30 02:42:01'
2026-05-30 02:42:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 42, 1, 882000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 02:42:01'
2026-05-30 02:42:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 42, 4, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 02:42:04'
2026-05-30 02:42:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 42, 6, 349000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 02:42:06'
2026-05-30 02:42:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 42, 12, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 02:42:12'
2026-05-30 02:42:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 42, 16, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 02:42:16'
2026-05-30 02:42:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 42, 18, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 02:42:18'
2026-05-30 02:44:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 36, 112062, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16575, 'low': 1.1654, 'close': 1.16564, 'volume': 6.0} | asctime='2026-05-30 02:44:36'
2026-05-30 02:44:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 36, 113375, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16699, 'low': 1.16657, 'close': 1.16696, 'volume': 6.0} | asctime='2026-05-30 02:44:36'
2026-05-30 02:44:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 36, 187000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 02:44:36'
2026-05-30 02:44:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 42, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 02:44:42'
2026-05-30 02:44:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 43, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 02:44:43'
2026-05-30 02:44:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 46, 241000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 02:44:46'
2026-05-30 02:44:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 47, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 02:44:47'
2026-05-30 02:44:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 47, 731000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 02:44:47'
2026-05-30 02:44:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 48, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 02:44:48'
2026-05-30 02:44:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 44, 49, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:44:49'
2026-05-30 02:46:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 36, 660387, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.1656, 'low': 1.16529, 'close': 1.16541, 'volume': 8.0} | asctime='2026-05-30 02:46:36'
2026-05-30 02:46:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 36, 661360, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16699, 'high': 1.16699, 'low': 1.16631, 'close': 1.16631, 'volume': 8.0} | asctime='2026-05-30 02:46:36'
2026-05-30 02:46:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 36, 662818, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16549, 'high': 1.16585, 'low': 1.16506, 'close': 1.16541, 'volume': 24.0} | asctime='2026-05-30 02:46:36'
2026-05-30 02:46:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 36, 663849, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16681, 'high': 1.1671, 'low': 1.16631, 'close': 1.16631, 'volume': 24.0} | asctime='2026-05-30 02:46:36'
2026-05-30 02:46:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 36, 664752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16568, 'high': 1.16585, 'low': 1.16506, 'close': 1.16541, 'volume': 78.0} | asctime='2026-05-30 02:46:36'
2026-05-30 02:46:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 36, 665189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16658, 'high': 1.1671, 'low': 1.16631, 'close': 1.16631, 'volume': 78.0} | asctime='2026-05-30 02:46:36'
2026-05-30 02:46:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 36, 728000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 02:46:36'
2026-05-30 02:46:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 38, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16711, 'bid_price': 1.16483, 'volume': 0.0} | asctime='2026-05-30 02:46:38'
2026-05-30 02:46:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 39, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 02:46:39'
2026-05-30 02:46:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 41, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 02:46:41'
2026-05-30 02:46:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 44, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 02:46:44'
2026-05-30 02:46:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 46, 44, 181000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 02:46:44'
2026-05-30 02:47:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 47, 18, 10264, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16492, 'high': 1.16539, 'low': 1.16483, 'close': 1.16532, 'volume': 6.0} | asctime='2026-05-30 02:47:18'
2026-05-30 02:47:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 47, 18, 11425, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16696, 'high': 1.16711, 'low': 1.16669, 'close': 1.16688, 'volume': 6.0} | asctime='2026-05-30 02:47:18'
2026-05-30 02:47:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 47, 18, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 02:47:18'
2026-05-30 02:47:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 47, 24, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 02:47:24'
2026-05-30 02:47:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 47, 26, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:47:26'
2026-05-30 02:47:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 47, 51, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 02:47:51'
2026-05-30 02:47:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 47, 52, 949000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 02:47:52'
2026-05-30 02:47:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 47, 55, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 02:47:55'
2026-05-30 02:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 48, 2, 559624, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16565, 'low': 1.16536, 'close': 1.16555, 'volume': 6.0} | asctime='2026-05-30 02:48:02'
2026-05-30 02:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 48, 2, 560314, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16692, 'high': 1.16692, 'low': 1.1665, 'close': 1.16687, 'volume': 6.0} | asctime='2026-05-30 02:48:02'
2026-05-30 02:48:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 48, 2, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:48:02'
2026-05-30 02:49:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 47, 209292, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16565, 'low': 1.16565, 'close': 1.16565, 'volume': 1.0} | asctime='2026-05-30 02:49:47'
2026-05-30 02:49:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 47, 211268, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16655, 'close': 1.16655, 'volume': 1.0} | asctime='2026-05-30 02:49:47'
2026-05-30 02:49:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 47, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 02:49:47'
2026-05-30 02:49:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 49, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 02:49:49'
2026-05-30 02:49:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 51, 750000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 02:49:51'
2026-05-30 02:49:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 52, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 02:49:52'
2026-05-30 02:49:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 53, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 02:49:53'
2026-05-30 02:49:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 53, 488000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 02:49:53'
2026-05-30 02:49:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 55, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 02:49:55'
2026-05-30 02:49:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 57, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 02:49:57'
2026-05-30 02:49:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 57, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:49:57'
2026-05-30 02:49:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 49, 59, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 02:49:59'
2026-05-30 02:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 0, 108586, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16563, 'low': 1.16521, 'close': 1.16562, 'volume': 10.0} | asctime='2026-05-30 02:50:00'
2026-05-30 02:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 0, 110224, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16683, 'low': 1.16647, 'close': 1.16652, 'volume': 10.0} | asctime='2026-05-30 02:50:00'
2026-05-30 02:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 0, 110654, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16492, 'high': 1.16565, 'low': 1.16483, 'close': 1.16562, 'volume': 23.0} | asctime='2026-05-30 02:50:00'
2026-05-30 02:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 0, 111150, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16696, 'high': 1.16711, 'low': 1.16647, 'close': 1.16652, 'volume': 23.0} | asctime='2026-05-30 02:50:00'
2026-05-30 02:50:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 0, 192000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 02:50:00'
2026-05-30 02:50:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 1, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 02:50:01'
2026-05-30 02:50:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 3, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 02:50:03'
2026-05-30 02:50:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 9, 875000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16712, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 02:50:09'
2026-05-30 02:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 19, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16713, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 02:50:19'
2026-05-30 02:50:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 21, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16704, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 02:50:21'
2026-05-30 02:50:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 25, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 02:50:25'
2026-05-30 02:50:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 50, 56, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 02:50:56'
2026-05-30 02:51:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 51, 4, 57930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.16575, 'low': 1.1653, 'close': 1.16541, 'volume': 8.0} | asctime='2026-05-30 02:51:04'
2026-05-30 02:51:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 51, 4, 58915, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16686, 'high': 1.16713, 'low': 1.1666, 'close': 1.16697, 'volume': 8.0} | asctime='2026-05-30 02:51:04'
2026-05-30 02:51:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 51, 4, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:51:04'
2026-05-30 02:52:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 52, 17, 907559, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16565, 'low': 1.16565, 'close': 1.16565, 'volume': 1.0} | asctime='2026-05-30 02:52:17'
2026-05-30 02:52:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 52, 17, 908591, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16697, 'high': 1.16697, 'low': 1.16697, 'close': 1.16697, 'volume': 1.0} | asctime='2026-05-30 02:52:17'
2026-05-30 02:52:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 52, 17, 988000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1671, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 02:52:17'
2026-05-30 02:52:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 52, 18, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 02:52:18'
2026-05-30 02:52:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 52, 18, 360000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 02:52:18'
2026-05-30 02:52:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 52, 18, 732000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 02:52:18'
2026-05-30 02:53:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 53, 12, 807372, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16554, 'high': 1.16562, 'low': 1.16535, 'close': 1.16562, 'volume': 4.0} | asctime='2026-05-30 02:53:12'
2026-05-30 02:53:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 53, 12, 808314, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1671, 'high': 1.1671, 'low': 1.16652, 'close': 1.16652, 'volume': 4.0} | asctime='2026-05-30 02:53:12'
2026-05-30 02:53:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 53, 12, 857000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 02:53:12'
2026-05-30 02:53:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 53, 17, 823000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 02:53:17'
2026-05-30 02:53:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 53, 18, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 02:53:18'
2026-05-30 02:53:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 53, 22, 789000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 02:53:22'
2026-05-30 02:53:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 53, 23, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 02:53:23'
2026-05-30 02:53:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 53, 25, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 02:53:25'
2026-05-30 02:53:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 53, 26, 761000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:53:26'
2026-05-30 02:54:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 54, 24, 156500, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16579, 'low': 1.16547, 'close': 1.16565, 'volume': 7.0} | asctime='2026-05-30 02:54:24'
2026-05-30 02:54:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 54, 24, 161088, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16692, 'low': 1.16649, 'close': 1.16655, 'volume': 7.0} | asctime='2026-05-30 02:54:24'
2026-05-30 02:54:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 54, 24, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 02:54:24'
2026-05-30 02:54:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 54, 26, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 02:54:26'
2026-05-30 02:54:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 54, 27, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 02:54:27'
2026-05-30 02:54:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 54, 31, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:54:31'
2026-05-30 02:55:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 55, 28, 105553, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16565, 'low': 1.16523, 'close': 1.16565, 'volume': 4.0} | asctime='2026-05-30 02:55:28'
2026-05-30 02:55:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 55, 28, 106651, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16668, 'high': 1.16679, 'low': 1.16655, 'close': 1.16655, 'volume': 4.0} | asctime='2026-05-30 02:55:28'
2026-05-30 02:55:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 55, 28, 107730, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1653, 'high': 1.16579, 'low': 1.16523, 'close': 1.16565, 'volume': 24.0} | asctime='2026-05-30 02:55:28'
2026-05-30 02:55:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 55, 28, 108238, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16686, 'high': 1.16713, 'low': 1.16649, 'close': 1.16655, 'volume': 24.0} | asctime='2026-05-30 02:55:28'
2026-05-30 02:55:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 55, 28, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 02:55:28'
2026-05-30 02:55:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 55, 30, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 02:55:30'
2026-05-30 02:56:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 56, 54, 254799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16571, 'high': 1.16576, 'low': 1.16571, 'close': 1.16576, 'volume': 2.0} | asctime='2026-05-30 02:56:54'
2026-05-30 02:56:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 56, 54, 256072, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16666, 'low': 1.16661, 'close': 1.16666, 'volume': 2.0} | asctime='2026-05-30 02:56:54'
2026-05-30 02:56:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 56, 54, 324000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 02:56:54'
2026-05-30 02:56:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 56, 56, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:56:56'
2026-05-30 02:57:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 57, 58, 54331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16571, 'high': 1.16571, 'low': 1.16565, 'close': 1.16565, 'volume': 2.0} | asctime='2026-05-30 02:57:58'
2026-05-30 02:57:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 57, 58, 55530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16655, 'close': 1.16655, 'volume': 2.0} | asctime='2026-05-30 02:57:58'
2026-05-30 02:57:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 57, 58, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 02:57:58'
2026-05-30 02:58:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 58, 5, 3534, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16566, 'high': 1.16566, 'low': 1.16566, 'close': 1.16566, 'volume': 1.0} | asctime='2026-05-30 02:58:05'
2026-05-30 02:58:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 58, 5, 4475, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16656, 'close': 1.16656, 'volume': 1.0} | asctime='2026-05-30 02:58:05'
2026-05-30 02:58:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 58, 5, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 02:58:05'
2026-05-30 02:58:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 58, 9, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 02:58:09'
2026-05-30 02:58:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 58, 11, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 02:58:11'
2026-05-30 02:58:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 58, 28, 421000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 02:58:28'
2026-05-30 02:58:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 58, 28, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 02:58:28'
2026-05-30 02:58:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 58, 29, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 02:58:29'
2026-05-30 02:59:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 59, 24, 203649, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16568, 'high': 1.16575, 'low': 1.1653, 'close': 1.16555, 'volume': 6.0} | asctime='2026-05-30 02:59:24'
2026-05-30 02:59:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 59, 24, 204811, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16686, 'low': 1.16645, 'close': 1.16645, 'volume': 6.0} | asctime='2026-05-30 02:59:24'
2026-05-30 02:59:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 59, 24, 284000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 02:59:24'
2026-05-30 02:59:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 59, 28, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:59:28'
2026-05-30 02:59:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 59, 50, 353000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 02:59:50'
2026-05-30 02:59:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 59, 51, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 02:59:51'
2026-05-30 02:59:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 59, 53, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 02:59:53'
2026-05-30 02:59:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 2, 59, 55, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 02:59:55'
2026-05-30 03:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 1, 702969, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1656, 'high': 1.16565, 'low': 1.16529, 'close': 1.16565, 'volume': 6.0} | asctime='2026-05-30 03:00:01'
2026-05-30 03:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 1, 704028, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16693, 'low': 1.1665, 'close': 1.16655, 'volume': 6.0} | asctime='2026-05-30 03:00:01'
2026-05-30 03:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 1, 704706, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16571, 'high': 1.16576, 'low': 1.16529, 'close': 1.16565, 'volume': 17.0} | asctime='2026-05-30 03:00:01'
2026-05-30 03:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 1, 705234, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16661, 'high': 1.16693, 'low': 1.16645, 'close': 1.16655, 'volume': 17.0} | asctime='2026-05-30 03:00:01'
2026-05-30 03:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 1, 705675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16492, 'high': 1.16579, 'low': 1.16483, 'close': 1.16565, 'volume': 64.0} | asctime='2026-05-30 03:00:01'
2026-05-30 03:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 1, 706113, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16696, 'high': 1.16713, 'low': 1.16645, 'close': 1.16655, 'volume': 64.0} | asctime='2026-05-30 03:00:01'
2026-05-30 03:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 1, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 03:00:01'
2026-05-30 03:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 3, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 03:00:02'
2026-05-30 03:00:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 44, 974000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 03:00:44'
2026-05-30 03:00:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 47, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 03:00:47'
2026-05-30 03:00:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 48, 326000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 03:00:48'
2026-05-30 03:00:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 51, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 03:00:51'
2026-05-30 03:00:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 0, 51, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 03:00:51'
2026-05-30 03:01:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 1, 52283, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16563, 'low': 1.16515, 'close': 1.16552, 'volume': 7.0} | asctime='2026-05-30 03:01:01'
2026-05-30 03:01:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 1, 53292, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16685, 'low': 1.16653, 'close': 1.16684, 'volume': 7.0} | asctime='2026-05-30 03:01:01'
2026-05-30 03:01:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 1, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16584, 'volume': 0.0} | asctime='2026-05-30 03:01:01'
2026-05-30 03:01:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 1, 236000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 03:01:01'
2026-05-30 03:01:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 3, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 03:01:03'
2026-05-30 03:01:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 5, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 03:01:05'
2026-05-30 03:01:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 23, 954000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 03:01:23'
2026-05-30 03:01:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 24, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 03:01:24'
2026-05-30 03:01:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 33, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 03:01:33'
2026-05-30 03:01:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 1, 51, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 03:01:51'
2026-05-30 03:02:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 3, 1354, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16584, 'high': 1.16584, 'low': 1.16528, 'close': 1.16555, 'volume': 8.0} | asctime='2026-05-30 03:02:03'
2026-05-30 03:02:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 3, 2105, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16689, 'low': 1.16662, 'close': 1.16687, 'volume': 8.0} | asctime='2026-05-30 03:02:03'
2026-05-30 03:02:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 3, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 03:02:03'
2026-05-30 03:02:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 13, 486000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 03:02:13'
2026-05-30 03:02:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 15, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 03:02:15'
2026-05-30 03:02:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 23, 176000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 03:02:23'
2026-05-30 03:02:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 25, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 03:02:25'
2026-05-30 03:02:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 30, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 03:02:30'
2026-05-30 03:02:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 31, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 03:02:31'
2026-05-30 03:02:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 32, 231000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 03:02:32'
2026-05-30 03:02:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 32, 728000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 03:02:32'
2026-05-30 03:02:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 2, 43, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 03:02:43'
2026-05-30 03:03:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 3, 2, 200243, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16561, 'high': 1.16583, 'low': 1.16509, 'close': 1.16583, 'volume': 10.0} | asctime='2026-05-30 03:03:02'
2026-05-30 03:03:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 3, 2, 201266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16689, 'low': 1.16646, 'close': 1.16673, 'volume': 10.0} | asctime='2026-05-30 03:03:02'
2026-05-30 03:03:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 3, 2, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 03:03:02'
2026-05-30 03:03:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 3, 31, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 03:03:31'
2026-05-30 03:03:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 3, 56, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 03:03:56'
2026-05-30 03:04:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 4, 999862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16575, 'high': 1.16575, 'low': 1.16558, 'close': 1.16558, 'volume': 3.0} | asctime='2026-05-30 03:04:05'
2026-05-30 03:04:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 5, 37287, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16665, 'high': 1.1669, 'low': 1.16662, 'close': 1.1669, 'volume': 3.0} | asctime='2026-05-30 03:04:05'
2026-05-30 03:04:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 5, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 03:04:05'
2026-05-30 03:04:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 18, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:04:18'
2026-05-30 03:04:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 29, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 03:04:29'
2026-05-30 03:04:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 35, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 03:04:35'
2026-05-30 03:04:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 38, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 03:04:38'
2026-05-30 03:04:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 39, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:04:39'
2026-05-30 03:04:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 40, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 03:04:40'
2026-05-30 03:04:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 40, 715000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 03:04:40'
2026-05-30 03:04:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 41, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 03:04:41'
2026-05-30 03:04:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 43, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 03:04:43'
2026-05-30 03:04:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 46, 798000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:04:46'
2026-05-30 03:04:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 56, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 03:04:56'
2026-05-30 03:04:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 4, 57, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:04:57'
2026-05-30 03:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 5, 1, 999942, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16583, 'high': 1.16583, 'low': 1.16545, 'close': 1.16565, 'volume': 13.0} | asctime='2026-05-30 03:05:02'
2026-05-30 03:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 5, 2, 971, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16701, 'low': 1.16661, 'close': 1.16697, 'volume': 13.0} | asctime='2026-05-30 03:05:02'
2026-05-30 03:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 5, 2, 2968, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16529, 'high': 1.16584, 'low': 1.16509, 'close': 1.16565, 'volume': 41.0} | asctime='2026-05-30 03:05:02'
2026-05-30 03:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 5, 2, 3633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16685, 'high': 1.16701, 'low': 1.16646, 'close': 1.16697, 'volume': 41.0} | asctime='2026-05-30 03:05:02'
2026-05-30 03:05:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 5, 2, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 03:05:02'
2026-05-30 03:05:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 5, 3, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 03:05:03'
2026-05-30 03:05:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 5, 5, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:05:05'
2026-05-30 03:05:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 5, 47, 255000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 03:05:47'
2026-05-30 03:05:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 5, 49, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 03:05:49'
2026-05-30 03:06:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 6, 12, 748980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16562, 'low': 1.16519, 'close': 1.16519, 'volume': 5.0} | asctime='2026-05-30 03:06:12'
2026-05-30 03:06:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 6, 12, 750098, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16694, 'high': 1.16694, 'low': 1.16652, 'close': 1.16675, 'volume': 5.0} | asctime='2026-05-30 03:06:12'
2026-05-30 03:06:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 6, 12, 828000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 03:06:12'
2026-05-30 03:06:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 6, 14, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 03:06:13'
2026-05-30 03:06:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 6, 16, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 03:06:15'
2026-05-30 03:06:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 6, 25, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 03:06:25'
2026-05-30 03:06:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 6, 26, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 03:06:26'
2026-05-30 03:07:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 11, 348092, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.1654, 'low': 1.1652, 'close': 1.1654, 'volume': 5.0} | asctime='2026-05-30 03:07:11'
2026-05-30 03:07:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 11, 349932, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16683, 'low': 1.16672, 'close': 1.16672, 'volume': 5.0} | asctime='2026-05-30 03:07:11'
2026-05-30 03:07:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 11, 423000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 03:07:11'
2026-05-30 03:07:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 12, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 03:07:12'
2026-05-30 03:07:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 16, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:07:16'
2026-05-30 03:07:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 22, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 03:07:22'
2026-05-30 03:07:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 24, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 03:07:23'
2026-05-30 03:07:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 24, 456000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 03:07:24'
2026-05-30 03:07:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 27, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:07:27'
2026-05-30 03:07:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 28, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 03:07:28'
2026-05-30 03:07:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 33, 767000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:07:33'
2026-05-30 03:07:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 34, 264000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 03:07:34'
2026-05-30 03:07:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 34, 769000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 03:07:34'
2026-05-30 03:07:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 36, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 03:07:36'
2026-05-30 03:07:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 52, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 03:07:52'
2026-05-30 03:07:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 7, 54, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 03:07:54'
2026-05-30 03:09:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 9, 38, 97092, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16576, 'low': 1.16532, 'close': 1.16549, 'volume': 14.0} | asctime='2026-05-30 03:09:38'
2026-05-30 03:09:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 9, 38, 99022, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16665, 'high': 1.16685, 'low': 1.16639, 'close': 1.16639, 'volume': 14.0} | asctime='2026-05-30 03:09:38'
2026-05-30 03:09:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 9, 38, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 03:09:38'
2026-05-30 03:09:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 9, 39, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 03:09:39'
2026-05-30 03:09:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 9, 40, 389000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 03:09:40'
2026-05-30 03:09:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 9, 41, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 03:09:41'
2026-05-30 03:09:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 9, 56, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16704, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 03:09:56'
2026-05-30 03:10:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 1, 795755, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16569, 'low': 1.16524, 'close': 1.16524, 'volume': 5.0} | asctime='2026-05-30 03:10:01'
2026-05-30 03:10:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 1, 796540, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16704, 'low': 1.16659, 'close': 1.16704, 'volume': 5.0} | asctime='2026-05-30 03:10:01'
2026-05-30 03:10:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 1, 797940, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16538, 'high': 1.16576, 'low': 1.16519, 'close': 1.16524, 'volume': 29.0} | asctime='2026-05-30 03:10:01'
2026-05-30 03:10:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 1, 799722, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16694, 'high': 1.16704, 'low': 1.16639, 'close': 1.16704, 'volume': 29.0} | asctime='2026-05-30 03:10:01'
2026-05-30 03:10:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 1, 866000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16703, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 03:10:01'
2026-05-30 03:10:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 3, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 03:10:03'
2026-05-30 03:10:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 5, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 03:10:04'
2026-05-30 03:10:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 7, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 03:10:06'
2026-05-30 03:10:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 7, 451000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 03:10:07'
2026-05-30 03:10:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 10, 929000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 03:10:10'
2026-05-30 03:10:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 13, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 03:10:13'
2026-05-30 03:10:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 19, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 03:10:19'
2026-05-30 03:10:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 33, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 03:10:32'
2026-05-30 03:10:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 37, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 03:10:37'
2026-05-30 03:10:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 49, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 03:10:49'
2026-05-30 03:10:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 10, 50, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 03:10:50'
2026-05-30 03:11:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 11, 24, 494793, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16557, 'low': 1.16514, 'close': 1.1653, 'volume': 12.0} | asctime='2026-05-30 03:11:24'
2026-05-30 03:11:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 11, 24, 496167, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16703, 'high': 1.16703, 'low': 1.16634, 'close': 1.16662, 'volume': 12.0} | asctime='2026-05-30 03:11:24'
2026-05-30 03:11:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 11, 24, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 03:11:24'
2026-05-30 03:11:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 11, 25, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 03:11:25'
2026-05-30 03:11:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 11, 27, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 03:11:27'
2026-05-30 03:11:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 11, 45, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 03:11:45'
2026-05-30 03:12:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 12, 11, 403793, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16559, 'low': 1.16524, 'close': 1.16559, 'volume': 4.0} | asctime='2026-05-30 03:12:11'
2026-05-30 03:12:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 12, 11, 404868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1668, 'high': 1.1668, 'low': 1.16649, 'close': 1.16649, 'volume': 4.0} | asctime='2026-05-30 03:12:11'
2026-05-30 03:12:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 12, 11, 469000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 03:12:11'
2026-05-30 03:12:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 12, 11, 717000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 03:12:11'
2026-05-30 03:12:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 12, 13, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 03:12:12'
2026-05-30 03:12:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 12, 15, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 03:12:14'
2026-05-30 03:12:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 12, 41, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 03:12:41'
2026-05-30 03:13:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 13, 5, 44237, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16564, 'low': 1.16526, 'close': 1.16564, 'volume': 5.0} | asctime='2026-05-30 03:13:05'
2026-05-30 03:13:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 13, 5, 45195, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16684, 'low': 1.16654, 'close': 1.16654, 'volume': 5.0} | asctime='2026-05-30 03:13:05'
2026-05-30 03:13:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 13, 5, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:13:05'
2026-05-30 03:13:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 13, 50, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 03:13:50'
2026-05-30 03:13:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 13, 57, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 03:13:57'
2026-05-30 03:14:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 14, 2, 993973, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16562, 'high': 1.16562, 'low': 1.16535, 'close': 1.16559, 'volume': 3.0} | asctime='2026-05-30 03:14:02'
2026-05-30 03:14:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 14, 2, 994999, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16667, 'low': 1.16649, 'close': 1.16649, 'volume': 3.0} | asctime='2026-05-30 03:14:02'
2026-05-30 03:14:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 14, 3, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 03:14:02'
2026-05-30 03:14:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 14, 5, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 03:14:04'
2026-05-30 03:14:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 14, 7, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 03:14:07'
2026-05-30 03:14:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 14, 24, 424000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 03:14:24'
2026-05-30 03:14:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 14, 26, 782000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 03:14:26'
2026-05-30 03:14:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 14, 29, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 03:14:29'
2026-05-30 03:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 5, 42969, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16571, 'low': 1.1654, 'close': 1.16545, 'volume': 6.0} | asctime='2026-05-30 03:15:05'
2026-05-30 03:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 5, 44017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16677, 'low': 1.16658, 'close': 1.16677, 'volume': 6.0} | asctime='2026-05-30 03:15:05'
2026-05-30 03:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 5, 44642, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16523, 'high': 1.16571, 'low': 1.16514, 'close': 1.16545, 'volume': 30.0} | asctime='2026-05-30 03:15:05'
2026-05-30 03:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 5, 45175, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16703, 'high': 1.16703, 'low': 1.16634, 'close': 1.16677, 'volume': 30.0} | asctime='2026-05-30 03:15:05'
2026-05-30 03:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 5, 45620, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16529, 'high': 1.16584, 'low': 1.16509, 'close': 1.16545, 'volume': 100.0} | asctime='2026-05-30 03:15:05'
2026-05-30 03:15:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 5, 46049, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16685, 'high': 1.16704, 'low': 1.16634, 'close': 1.16677, 'volume': 100.0} | asctime='2026-05-30 03:15:05'
2026-05-30 03:15:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 5, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:15:05'
2026-05-30 03:15:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 7, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 03:15:07'
2026-05-30 03:15:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 7, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 03:15:07'
2026-05-30 03:15:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 12, 342000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 03:15:12'
2026-05-30 03:15:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 13, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:15:13'
2026-05-30 03:15:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 33, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 03:15:32'
2026-05-30 03:15:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 58, 522000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 03:15:58'
2026-05-30 03:15:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 15, 59, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 03:15:59'
2026-05-30 03:16:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 21, 392248, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16562, 'high': 1.16562, 'low': 1.16532, 'close': 1.16535, 'volume': 8.0} | asctime='2026-05-30 03:16:21'
2026-05-30 03:16:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 21, 393947, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16688, 'low': 1.16643, 'close': 1.16667, 'volume': 8.0} | asctime='2026-05-30 03:16:21'
2026-05-30 03:16:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 21, 487000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 03:16:21'
2026-05-30 03:16:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 21, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 03:16:21'
2026-05-30 03:16:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 22, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 03:16:22'
2026-05-30 03:16:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 23, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:16:23'
2026-05-30 03:16:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 24, 840000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 03:16:24'
2026-05-30 03:16:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 27, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 03:16:26'
2026-05-30 03:16:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 29, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 03:16:28'
2026-05-30 03:16:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 29, 184000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 03:16:29'
2026-05-30 03:16:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 29, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 03:16:29'
2026-05-30 03:16:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 31, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 03:16:31'
2026-05-30 03:16:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 33, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 03:16:33'
2026-05-30 03:16:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 40, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 03:16:40'
2026-05-30 03:16:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 48, 427000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 03:16:48'
2026-05-30 03:16:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 55, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 03:16:55'
2026-05-30 03:16:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 16, 57, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 03:16:57'
2026-05-30 03:18:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 16, 593042, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16576, 'low': 1.16509, 'close': 1.16547, 'volume': 15.0} | asctime='2026-05-30 03:18:16'
2026-05-30 03:18:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 16, 594389, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16671, 'high': 1.16689, 'low': 1.16637, 'close': 1.16637, 'volume': 15.0} | asctime='2026-05-30 03:18:16'
2026-05-30 03:18:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 16, 690000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 03:18:16'
2026-05-30 03:18:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 17, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 03:18:16'
2026-05-30 03:18:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 25, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 03:18:25'
2026-05-30 03:18:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 40, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 03:18:40'
2026-05-30 03:18:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 41, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 03:18:41'
2026-05-30 03:18:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 43, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 03:18:43'
2026-05-30 03:18:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 51, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 03:18:51'
2026-05-30 03:18:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 18, 53, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:18:52'
2026-05-30 03:20:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 30, 541173, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16571, 'low': 1.16529, 'close': 1.16565, 'volume': 8.0} | asctime='2026-05-30 03:20:30'
2026-05-30 03:20:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 30, 543021, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16686, 'low': 1.16639, 'close': 1.16655, 'volume': 8.0} | asctime='2026-05-30 03:20:30'
2026-05-30 03:20:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 30, 543644, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16562, 'high': 1.16576, 'low': 1.16509, 'close': 1.16565, 'volume': 31.0} | asctime='2026-05-30 03:20:30'
2026-05-30 03:20:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 30, 544952, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16652, 'high': 1.16689, 'low': 1.16637, 'close': 1.16655, 'volume': 31.0} | asctime='2026-05-30 03:20:30'
2026-05-30 03:20:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 30, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 03:20:30'
2026-05-30 03:20:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 32, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 03:20:32'
2026-05-30 03:20:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 33, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 03:20:33'
2026-05-30 03:20:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 35, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 03:20:35'
2026-05-30 03:20:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 40, 568000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:20:40'
2026-05-30 03:20:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 20, 41, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 03:20:40'
2026-05-30 03:21:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 21, 22, 439367, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16552, 'high': 1.16563, 'low': 1.1654, 'close': 1.16563, 'volume': 6.0} | asctime='2026-05-30 03:21:22'
2026-05-30 03:21:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 21, 22, 440360, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16684, 'high': 1.16698, 'low': 1.16649, 'close': 1.16653, 'volume': 6.0} | asctime='2026-05-30 03:21:22'
2026-05-30 03:21:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 21, 22, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:21:22'
2026-05-30 03:21:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 21, 23, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 03:21:23'
2026-05-30 03:21:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 21, 52, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 03:21:51'
2026-05-30 03:21:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 21, 53, 938000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16706, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 03:21:53'
2026-05-30 03:21:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 21, 55, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 03:21:54'
2026-05-30 03:22:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 22, 4, 38799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16562, 'high': 1.16562, 'low': 1.16526, 'close': 1.16532, 'volume': 5.0} | asctime='2026-05-30 03:22:04'
2026-05-30 03:22:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 22, 4, 40322, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16706, 'low': 1.16652, 'close': 1.16688, 'volume': 5.0} | asctime='2026-05-30 03:22:04'
2026-05-30 03:22:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 22, 4, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 03:22:04'
2026-05-30 03:23:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 23, 23, 988540, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 03:23:23'
2026-05-30 03:23:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 23, 23, 989597, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16695, 'high': 1.16695, 'low': 1.16695, 'close': 1.16695, 'volume': 1.0} | asctime='2026-05-30 03:23:23'
2026-05-30 03:23:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 23, 24, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 03:23:23'
2026-05-30 03:23:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 23, 28, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 03:23:28'
2026-05-30 03:23:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 23, 38, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 03:23:37'
2026-05-30 03:23:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 23, 59, 987830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.1652, 'close': 1.16527, 'volume': 3.0} | asctime='2026-05-30 03:23:59'
2026-05-30 03:23:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 23, 59, 988970, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16683, 'low': 1.16676, 'close': 1.16683, 'volume': 3.0} | asctime='2026-05-30 03:23:59'
2026-05-30 03:23:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 0, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 03:23:59'
2026-05-30 03:24:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 23, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 03:24:23'
2026-05-30 03:24:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 25, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:24:25'
2026-05-30 03:24:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 30, 350000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 03:24:30'
2026-05-30 03:24:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 34, 199000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 03:24:34'
2026-05-30 03:24:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 34, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 03:24:34'
2026-05-30 03:24:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 36, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 03:24:36'
2026-05-30 03:24:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 37, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 03:24:36'
2026-05-30 03:24:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 39, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 03:24:39'
2026-05-30 03:24:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 49, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 03:24:49'
2026-05-30 03:24:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 24, 51, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 03:24:50'
2026-05-30 03:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 25, 2, 536940, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16569, 'low': 1.16513, 'close': 1.16569, 'volume': 11.0} | asctime='2026-05-30 03:25:02'
2026-05-30 03:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 25, 2, 538751, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.16694, 'low': 1.16649, 'close': 1.16659, 'volume': 11.0} | asctime='2026-05-30 03:25:02'
2026-05-30 03:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 25, 2, 539647, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16552, 'high': 1.16569, 'low': 1.16513, 'close': 1.16569, 'volume': 26.0} | asctime='2026-05-30 03:25:02'
2026-05-30 03:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 25, 2, 540888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16684, 'high': 1.16706, 'low': 1.16649, 'close': 1.16659, 'volume': 26.0} | asctime='2026-05-30 03:25:02'
2026-05-30 03:25:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 25, 2, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 03:25:02'
2026-05-30 03:26:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 26, 4, 986518, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16542, 'low': 1.16542, 'close': 1.16542, 'volume': 1.0} | asctime='2026-05-30 03:26:04'
2026-05-30 03:26:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 26, 4, 988989, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16674, 'low': 1.16674, 'close': 1.16674, 'volume': 1.0} | asctime='2026-05-30 03:26:04'
2026-05-30 03:26:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 26, 5, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 03:26:04'
2026-05-30 03:26:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 26, 7, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 03:26:06'
2026-05-30 03:27:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 4, 436463, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16557, 'low': 1.16541, 'close': 1.16557, 'volume': 2.0} | asctime='2026-05-30 03:27:04'
2026-05-30 03:27:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 4, 437751, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16673, 'low': 1.16647, 'close': 1.16647, 'volume': 2.0} | asctime='2026-05-30 03:27:04'
2026-05-30 03:27:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 4, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 03:27:04'
2026-05-30 03:27:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 5, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 03:27:05'
2026-05-30 03:27:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 9, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 03:27:09'
2026-05-30 03:27:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 11, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:27:11'
2026-05-30 03:27:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 32, 588000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 03:27:32'
2026-05-30 03:27:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 51, 333000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 03:27:51'
2026-05-30 03:27:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 53, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 03:27:52'
2026-05-30 03:27:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 27, 55, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 03:27:54'
2026-05-30 03:28:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 6, 285248, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16559, 'high': 1.16565, 'low': 1.16524, 'close': 1.16533, 'volume': 8.0} | asctime='2026-05-30 03:28:06'
2026-05-30 03:28:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 6, 286255, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16681, 'low': 1.16649, 'close': 1.16665, 'volume': 8.0} | asctime='2026-05-30 03:28:06'
2026-05-30 03:28:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 6, 354000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 03:28:06'
2026-05-30 03:28:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 6, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 03:28:06'
2026-05-30 03:28:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 7, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 03:28:07'
2026-05-30 03:28:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 9, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 03:28:08'
2026-05-30 03:28:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 11, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 03:28:10'
2026-05-30 03:28:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 14, 175000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 03:28:14'
2026-05-30 03:28:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 14, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 03:28:14'
2026-05-30 03:28:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 32, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:28:32'
2026-05-30 03:28:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 28, 55, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.1658, 'volume': 0.0} | asctime='2026-05-30 03:28:55'
2026-05-30 03:29:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 29, 50, 784021, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.1658, 'low': 1.16523, 'close': 1.1658, 'volume': 9.0} | asctime='2026-05-30 03:29:50'
2026-05-30 03:29:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 29, 50, 785232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16684, 'high': 1.16685, 'low': 1.16641, 'close': 1.1667, 'volume': 9.0} | asctime='2026-05-30 03:29:50'
2026-05-30 03:29:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 29, 50, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 03:29:50'
2026-05-30 03:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 0, 984052, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16552, 'high': 1.16552, 'low': 1.16552, 'close': 1.16552, 'volume': 1.0} | asctime='2026-05-30 03:30:00'
2026-05-30 03:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 0, 985094, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16684, 'high': 1.16684, 'low': 1.16684, 'close': 1.16684, 'volume': 1.0} | asctime='2026-05-30 03:30:00'
2026-05-30 03:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 0, 986641, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16542, 'high': 1.1658, 'low': 1.16523, 'close': 1.16552, 'volume': 21.0} | asctime='2026-05-30 03:30:00'
2026-05-30 03:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 0, 987789, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16674, 'high': 1.16685, 'low': 1.16641, 'close': 1.16684, 'volume': 21.0} | asctime='2026-05-30 03:30:00'
2026-05-30 03:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 0, 989408, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16562, 'high': 1.1658, 'low': 1.16509, 'close': 1.16552, 'volume': 78.0} | asctime='2026-05-30 03:30:00'
2026-05-30 03:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 0, 990513, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16652, 'high': 1.16706, 'low': 1.16637, 'close': 1.16684, 'volume': 78.0} | asctime='2026-05-30 03:30:00'
2026-05-30 03:30:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 1, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 03:30:00'
2026-05-30 03:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 12, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 03:30:12'
2026-05-30 03:30:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 13, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 03:30:13'
2026-05-30 03:30:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 13, 224000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 03:30:13'
2026-05-30 03:30:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 15, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 03:30:14'
2026-05-30 03:30:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 17, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 03:30:16'
2026-05-30 03:30:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 21, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 03:30:21'
2026-05-30 03:30:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 27, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 03:30:27'
2026-05-30 03:30:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 29, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 03:30:29'
2026-05-30 03:30:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 31, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:30:31'
2026-05-30 03:30:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 44, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 03:30:44'
2026-05-30 03:30:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 44, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 03:30:44'
2026-05-30 03:30:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 53, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 03:30:52'
2026-05-30 03:30:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 30, 55, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 03:30:54'
2026-05-30 03:31:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 31, 32, 983819, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16566, 'high': 1.1657, 'low': 1.16516, 'close': 1.16564, 'volume': 14.0} | asctime='2026-05-30 03:31:32'
2026-05-30 03:31:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 31, 32, 984879, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.1672, 'low': 1.16652, 'close': 1.16654, 'volume': 14.0} | asctime='2026-05-30 03:31:32'
2026-05-30 03:31:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 31, 33, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 03:31:32'
2026-05-30 03:31:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 31, 44, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 03:31:44'
2026-05-30 03:31:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 31, 49, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 03:31:48'
2026-05-30 03:31:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 31, 55, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 03:31:55'
2026-05-30 03:31:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 31, 55, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 03:31:55'
2026-05-30 03:31:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 31, 57, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 03:31:57'
2026-05-30 03:32:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 32, 5, 391115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16558, 'low': 1.16531, 'close': 1.16558, 'volume': 6.0} | asctime='2026-05-30 03:32:05'
2026-05-30 03:32:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 32, 5, 392195, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.1669, 'low': 1.16648, 'close': 1.16648, 'volume': 6.0} | asctime='2026-05-30 03:32:05'
2026-05-30 03:32:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 32, 5, 449000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 03:32:05'
2026-05-30 03:32:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 32, 9, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 03:32:08'
2026-05-30 03:32:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 32, 10, 289000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 03:32:10'
2026-05-30 03:32:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 32, 13, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 03:32:13'
2026-05-30 03:32:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 32, 15, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 03:32:15'
2026-05-30 03:32:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 32, 17, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:32:17'
2026-05-30 03:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 33, 0, 732231, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.1657, 'low': 1.16495, 'close': 1.16562, 'volume': 6.0} | asctime='2026-05-30 03:33:00'
2026-05-30 03:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 33, 0, 733472, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1668, 'high': 1.16699, 'low': 1.16631, 'close': 1.16652, 'volume': 6.0} | asctime='2026-05-30 03:33:00'
2026-05-30 03:33:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 33, 0, 815000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 03:33:00'
2026-05-30 03:33:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 33, 8, 388000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:33:08'
2026-05-30 03:33:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 33, 9, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16585, 'volume': 0.0} | asctime='2026-05-30 03:33:09'
2026-05-30 03:34:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 34, 44, 731433, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16569, 'high': 1.16585, 'low': 1.16553, 'close': 1.16585, 'volume': 3.0} | asctime='2026-05-30 03:34:44'
2026-05-30 03:34:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 34, 44, 732365, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16685, 'low': 1.16659, 'close': 1.16675, 'volume': 3.0} | asctime='2026-05-30 03:34:44'
2026-05-30 03:34:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 34, 44, 844000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:34:44'
2026-05-30 03:34:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 34, 49, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:34:48'
2026-05-30 03:34:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 34, 54, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 03:34:54'
2026-05-30 03:35:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 4, 981562, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16565, 'low': 1.16553, 'close': 1.16559, 'volume': 3.0} | asctime='2026-05-30 03:35:04'
2026-05-30 03:35:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 4, 982726, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16685, 'low': 1.16649, 'close': 1.16649, 'volume': 3.0} | asctime='2026-05-30 03:35:04'
2026-05-30 03:35:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 4, 984451, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16566, 'high': 1.16585, 'low': 1.16495, 'close': 1.16559, 'volume': 32.0} | asctime='2026-05-30 03:35:04'
2026-05-30 03:35:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 4, 986268, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16656, 'high': 1.1672, 'low': 1.16631, 'close': 1.16649, 'volume': 32.0} | asctime='2026-05-30 03:35:04'
2026-05-30 03:35:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 5, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:35:04'
2026-05-30 03:35:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 20, 224000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 03:35:20'
2026-05-30 03:35:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 29, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 03:35:29'
2026-05-30 03:35:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 57, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 03:35:56'
2026-05-30 03:35:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 58, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 03:35:58'
2026-05-30 03:35:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 35, 59, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 03:35:58'
2026-05-30 03:36:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 36, 42, 179848, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16557, 'low': 1.16517, 'close': 1.16557, 'volume': 6.0} | asctime='2026-05-30 03:36:42'
2026-05-30 03:36:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 36, 42, 180904, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16677, 'low': 1.16643, 'close': 1.16647, 'volume': 6.0} | asctime='2026-05-30 03:36:42'
2026-05-30 03:36:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 36, 42, 280000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 03:36:42'
2026-05-30 03:36:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 36, 53, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 03:36:53'
2026-05-30 03:37:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 37, 2, 430026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16538, 'close': 1.16538, 'volume': 2.0} | asctime='2026-05-30 03:37:02'
2026-05-30 03:37:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 37, 2, 431136, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.16677, 'low': 1.1667, 'close': 1.1667, 'volume': 2.0} | asctime='2026-05-30 03:37:02'
2026-05-30 03:37:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 37, 2, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 03:37:02'
2026-05-30 03:37:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 37, 22, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 03:37:22'
2026-05-30 03:37:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 37, 50, 806000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 03:37:50'
2026-05-30 03:38:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 38, 16, 29245, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16544, 'low': 1.16524, 'close': 1.16528, 'volume': 3.0} | asctime='2026-05-30 03:38:16'
2026-05-30 03:38:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 38, 16, 30182, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1668, 'high': 1.1668, 'low': 1.16634, 'close': 1.1666, 'volume': 3.0} | asctime='2026-05-30 03:38:16'
2026-05-30 03:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 38, 16, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:38:16'
2026-05-30 03:38:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 38, 22, 336000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 03:38:22'
2026-05-30 03:38:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 38, 24, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 03:38:23'
2026-05-30 03:38:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 38, 30, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 03:38:30'
2026-05-30 03:39:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 39, 17, 978735, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16562, 'high': 1.16562, 'low': 1.16525, 'close': 1.16528, 'volume': 4.0} | asctime='2026-05-30 03:39:17'
2026-05-30 03:39:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 39, 17, 979635, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16684, 'low': 1.16652, 'close': 1.16684, 'volume': 4.0} | asctime='2026-05-30 03:39:17'
2026-05-30 03:39:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 39, 18, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 03:39:17'
2026-05-30 03:39:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 39, 32, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 03:39:32'
2026-05-30 03:39:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 39, 32, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 03:39:32'
2026-05-30 03:39:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 39, 34, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 03:39:33'
2026-05-30 03:39:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 39, 36, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 03:39:35'
2026-05-30 03:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 3, 678512, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16559, 'low': 1.16525, 'close': 1.16559, 'volume': 5.0} | asctime='2026-05-30 03:40:03'
2026-05-30 03:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 3, 679629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16681, 'low': 1.16649, 'close': 1.16649, 'volume': 5.0} | asctime='2026-05-30 03:40:03'
2026-05-30 03:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 3, 681972, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16553, 'high': 1.16562, 'low': 1.16517, 'close': 1.16559, 'volume': 20.0} | asctime='2026-05-30 03:40:03'
2026-05-30 03:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 3, 683189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16643, 'high': 1.16684, 'low': 1.16634, 'close': 1.16649, 'volume': 20.0} | asctime='2026-05-30 03:40:03'
2026-05-30 03:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 3, 758000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 03:40:03'
2026-05-30 03:40:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 4, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16703, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 03:40:04'
2026-05-30 03:40:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 5, 868000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16466, 'volume': 0.0} | asctime='2026-05-30 03:40:05'
2026-05-30 03:40:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 6, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16465, 'volume': 0.0} | asctime='2026-05-30 03:40:06'
2026-05-30 03:40:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 12, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 03:40:11'
2026-05-30 03:40:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 16, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 03:40:16'
2026-05-30 03:40:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 18, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 03:40:18'
2026-05-30 03:40:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 20, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 03:40:20'
2026-05-30 03:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 22, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:40:22'
2026-05-30 03:40:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 24, 366000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:40:24'
2026-05-30 03:40:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 24, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16584, 'volume': 0.0} | asctime='2026-05-30 03:40:24'
2026-05-30 03:40:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 26, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 03:40:26'
2026-05-30 03:40:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 40, 28, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 03:40:27'
2026-05-30 03:41:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 41, 28, 77471, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16584, 'low': 1.16465, 'close': 1.1657, 'volume': 13.0} | asctime='2026-05-30 03:41:28'
2026-05-30 03:41:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 41, 28, 78328, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16703, 'low': 1.16655, 'close': 1.1666, 'volume': 13.0} | asctime='2026-05-30 03:41:28'
2026-05-30 03:41:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 41, 28, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 03:41:28'
2026-05-30 03:41:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 41, 34, 255000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 03:41:34'
2026-05-30 03:41:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 41, 56, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 03:41:56'
2026-05-30 03:41:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 41, 56, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16702, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 03:41:56'
2026-05-30 03:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 41, 58, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:41:57'
2026-05-30 03:42:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 9, 427142, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16579, 'high': 1.16579, 'low': 1.16534, 'close': 1.16553, 'volume': 5.0} | asctime='2026-05-30 03:42:09'
2026-05-30 03:42:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 9, 428807, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16702, 'low': 1.16649, 'close': 1.16685, 'volume': 5.0} | asctime='2026-05-30 03:42:09'
2026-05-30 03:42:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 9, 511000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 03:42:09'
2026-05-30 03:42:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 12, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 03:42:12'
2026-05-30 03:42:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 14, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 03:42:14'
2026-05-30 03:42:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 14, 228000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 03:42:14'
2026-05-30 03:42:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 20, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 03:42:19'
2026-05-30 03:42:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 24, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 03:42:24'
2026-05-30 03:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 30, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 03:42:30'
2026-05-30 03:42:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 45, 885000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 03:42:45'
2026-05-30 03:42:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 46, 380000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.167, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 03:42:46'
2026-05-30 03:42:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 42, 48, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 03:42:48'
2026-05-30 03:43:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 43, 0, 76686, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16571, 'low': 1.16516, 'close': 1.16568, 'volume': 10.0} | asctime='2026-05-30 03:43:00'
2026-05-30 03:43:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 43, 0, 77517, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16693, 'high': 1.167, 'low': 1.16654, 'close': 1.16658, 'volume': 10.0} | asctime='2026-05-30 03:43:00'
2026-05-30 03:43:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 43, 0, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 03:43:00'
2026-05-30 03:43:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 43, 0, 904000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 03:43:00'
2026-05-30 03:43:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 43, 4, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:43:04'
2026-05-30 03:43:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 43, 23, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 03:43:23'
2026-05-30 03:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 3, 975782, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16567, 'high': 1.16568, 'low': 1.1655, 'close': 1.1655, 'volume': 4.0} | asctime='2026-05-30 03:45:03'
2026-05-30 03:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 3, 980041, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16682, 'low': 1.16655, 'close': 1.16682, 'volume': 4.0} | asctime='2026-05-30 03:45:03'
2026-05-30 03:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 3, 982518, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16529, 'high': 1.16584, 'low': 1.16465, 'close': 1.1655, 'volume': 32.0} | asctime='2026-05-30 03:45:03'
2026-05-30 03:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 3, 983652, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16685, 'high': 1.16703, 'low': 1.16649, 'close': 1.16682, 'volume': 32.0} | asctime='2026-05-30 03:45:03'
2026-05-30 03:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 3, 984612, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16566, 'high': 1.16585, 'low': 1.16465, 'close': 1.1655, 'volume': 84.0} | asctime='2026-05-30 03:45:03'
2026-05-30 03:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 3, 985742, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16656, 'high': 1.1672, 'low': 1.16631, 'close': 1.16682, 'volume': 84.0} | asctime='2026-05-30 03:45:03'
2026-05-30 03:45:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 4, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 03:45:03'
2026-05-30 03:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 6, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:45:06'
2026-05-30 03:45:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 17, 334000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:45:17'
2026-05-30 03:45:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 18, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:45:17'
2026-05-30 03:45:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 34, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 03:45:33'
2026-05-30 03:45:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 38, 811000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 03:45:38'
2026-05-30 03:45:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 40, 176000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 03:45:40'
2026-05-30 03:45:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 41, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 03:45:41'
2026-05-30 03:45:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 42, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 03:45:42'
2026-05-30 03:45:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 45, 50, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:45:50'
2026-05-30 03:46:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 46, 37, 174156, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16566, 'high': 1.16566, 'low': 1.16529, 'close': 1.16562, 'volume': 10.0} | asctime='2026-05-30 03:46:37'
2026-05-30 03:46:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 46, 37, 174947, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16686, 'low': 1.16651, 'close': 1.16652, 'volume': 10.0} | asctime='2026-05-30 03:46:37'
2026-05-30 03:46:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 46, 37, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 03:46:37'
2026-05-30 03:46:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 46, 38, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 03:46:38'
2026-05-30 03:47:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 9, 77028, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16549, 'low': 1.16526, 'close': 1.16549, 'volume': 2.0} | asctime='2026-05-30 03:47:09'
2026-05-30 03:47:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 9, 81716, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16681, 'close': 1.16681, 'volume': 2.0} | asctime='2026-05-30 03:47:09'
2026-05-30 03:47:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 9, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 03:47:09'
2026-05-30 03:47:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 10, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 03:47:09'
2026-05-30 03:47:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 20, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 03:47:20'
2026-05-30 03:47:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 22, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 03:47:22'
2026-05-30 03:47:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 40, 220000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 03:47:40'
2026-05-30 03:47:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 50, 27000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 03:47:49'
2026-05-30 03:47:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 56, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 03:47:56'
2026-05-30 03:47:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 47, 58, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 03:47:58'
2026-05-30 03:48:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 0, 223326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.1657, 'low': 1.1653, 'close': 1.1657, 'volume': 8.0} | asctime='2026-05-30 03:48:00'
2026-05-30 03:48:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 0, 225146, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16686, 'high': 1.16686, 'low': 1.16647, 'close': 1.1666, 'volume': 8.0} | asctime='2026-05-30 03:48:00'
2026-05-30 03:48:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 0, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 03:48:00'
2026-05-30 03:48:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 13, 614000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 03:48:13'
2026-05-30 03:48:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 14, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16581, 'volume': 0.0} | asctime='2026-05-30 03:48:14'
2026-05-30 03:48:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 26, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 03:48:26'
2026-05-30 03:48:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 31, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 03:48:31'
2026-05-30 03:48:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 34, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 03:48:34'
2026-05-30 03:48:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 40, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 03:48:40'
2026-05-30 03:48:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 42, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 03:48:42'
2026-05-30 03:48:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 45, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16702, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 03:48:45'
2026-05-30 03:48:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 48, 54, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 03:48:53'
2026-05-30 03:49:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 49, 58, 422194, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16583, 'low': 1.16536, 'close': 1.16549, 'volume': 10.0} | asctime='2026-05-30 03:49:58'
2026-05-30 03:49:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 49, 58, 422953, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16675, 'high': 1.16705, 'low': 1.16653, 'close': 1.16705, 'volume': 10.0} | asctime='2026-05-30 03:49:58'
2026-05-30 03:49:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 49, 58, 512000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 03:49:58'
2026-05-30 03:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 50, 0, 22259, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.1654, 'low': 1.1654, 'close': 1.1654, 'volume': 1.0} | asctime='2026-05-30 03:50:00'
2026-05-30 03:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 50, 0, 23888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16696, 'high': 1.16696, 'low': 1.16696, 'close': 1.16696, 'volume': 1.0} | asctime='2026-05-30 03:50:00'
2026-05-30 03:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 50, 0, 24990, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16566, 'high': 1.16583, 'low': 1.16526, 'close': 1.1654, 'volume': 31.0} | asctime='2026-05-30 03:50:00'
2026-05-30 03:50:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 50, 0, 26083, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16656, 'high': 1.16705, 'low': 1.16647, 'close': 1.16696, 'volume': 31.0} | asctime='2026-05-30 03:50:00'
2026-05-30 03:50:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 50, 0, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 03:50:00'
2026-05-30 03:50:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 50, 4, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 03:50:04'
2026-05-30 03:50:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 50, 31, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:50:31'
2026-05-30 03:51:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 51, 34, 521192, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16565, 'low': 1.16533, 'close': 1.16565, 'volume': 3.0} | asctime='2026-05-30 03:51:34'
2026-05-30 03:51:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 51, 34, 522002, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16689, 'high': 1.16689, 'low': 1.16655, 'close': 1.16655, 'volume': 3.0} | asctime='2026-05-30 03:51:34'
2026-05-30 03:51:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 51, 34, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 03:51:34'
2026-05-30 03:51:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 51, 37, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 03:51:37'
2026-05-30 03:51:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 51, 39, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 03:51:38'
2026-05-30 03:51:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 51, 45, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 03:51:45'
2026-05-30 03:51:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 51, 47, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 03:51:47'
2026-05-30 03:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 52, 0, 671243, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16567, 'low': 1.16525, 'close': 1.16567, 'volume': 5.0} | asctime='2026-05-30 03:52:00'
2026-05-30 03:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 52, 0, 672096, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16688, 'low': 1.16657, 'close': 1.16657, 'volume': 5.0} | asctime='2026-05-30 03:52:00'
2026-05-30 03:52:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 52, 0, 789000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 03:52:00'
2026-05-30 03:52:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 52, 3, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 03:52:02'
2026-05-30 03:52:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 52, 5, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 03:52:05'
2026-05-30 03:52:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 52, 7, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16581, 'volume': 0.0} | asctime='2026-05-30 03:52:07'
2026-05-30 03:52:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 52, 38, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 03:52:38'
2026-05-30 03:52:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 52, 39, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 03:52:39'
2026-05-30 03:53:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 53, 3, 20558, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16569, 'high': 1.16581, 'low': 1.16553, 'close': 1.16569, 'volume': 6.0} | asctime='2026-05-30 03:53:03'
2026-05-30 03:53:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 53, 3, 21359, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16686, 'low': 1.16659, 'close': 1.16659, 'volume': 6.0} | asctime='2026-05-30 03:53:03'
2026-05-30 03:53:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 53, 3, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 03:53:03'
2026-05-30 03:54:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 54, 5, 7347, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1657, 'high': 1.1657, 'low': 1.1657, 'close': 1.1657, 'volume': 1.0} | asctime='2026-05-30 03:54:05'
2026-05-30 03:54:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 54, 5, 8288, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1666, 'low': 1.1666, 'close': 1.1666, 'volume': 1.0} | asctime='2026-05-30 03:54:05'
2026-05-30 03:54:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 54, 5, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 03:54:05'
2026-05-30 03:54:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 54, 13, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:54:13'
2026-05-30 03:54:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 54, 22, 557000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 03:54:22'
2026-05-30 03:55:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 55, 14, 969175, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16566, 'high': 1.16566, 'low': 1.16537, 'close': 1.16537, 'volume': 3.0} | asctime='2026-05-30 03:55:14'
2026-05-30 03:55:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 55, 14, 970117, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16669, 'low': 1.16655, 'close': 1.16669, 'volume': 3.0} | asctime='2026-05-30 03:55:14'
2026-05-30 03:55:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 55, 14, 971554, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16533, 'high': 1.16581, 'low': 1.16525, 'close': 1.16537, 'volume': 18.0} | asctime='2026-05-30 03:55:14'
2026-05-30 03:55:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 55, 14, 972706, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16689, 'high': 1.16689, 'low': 1.16655, 'close': 1.16669, 'volume': 18.0} | asctime='2026-05-30 03:55:14'
2026-05-30 03:55:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 55, 15, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 03:55:14'
2026-05-30 03:55:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 55, 18, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 03:55:17'
2026-05-30 03:55:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 55, 19, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 03:55:19'
2026-05-30 03:55:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 55, 33, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 03:55:32'
2026-05-30 03:56:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 56, 6, 967970, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16551, 'high': 1.16551, 'low': 1.16515, 'close': 1.16532, 'volume': 4.0} | asctime='2026-05-30 03:56:06'
2026-05-30 03:56:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 56, 6, 969643, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16688, 'low': 1.16641, 'close': 1.16688, 'volume': 4.0} | asctime='2026-05-30 03:56:06'
2026-05-30 03:56:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 56, 7, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 03:56:06'
2026-05-30 03:56:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 56, 22, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 03:56:22'
2026-05-30 03:56:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 56, 23, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 03:56:23'
2026-05-30 03:57:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 57, 25, 667460, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16565, 'low': 1.16542, 'close': 1.16556, 'volume': 3.0} | asctime='2026-05-30 03:57:25'
2026-05-30 03:57:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 57, 25, 668637, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16674, 'low': 1.16646, 'close': 1.16646, 'volume': 3.0} | asctime='2026-05-30 03:57:25'
2026-05-30 03:57:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 57, 25, 788000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 03:57:25'
2026-05-30 03:57:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 57, 25, 911000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 03:57:25'
2026-05-30 03:57:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 57, 49, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 03:57:49'
2026-05-30 03:57:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 57, 58, 188000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 03:57:58'
2026-05-30 03:58:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 58, 1, 67386, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1656, 'high': 1.16561, 'low': 1.16536, 'close': 1.16536, 'volume': 4.0} | asctime='2026-05-30 03:58:01'
2026-05-30 03:58:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 58, 1, 68477, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16692, 'low': 1.1665, 'close': 1.16692, 'volume': 4.0} | asctime='2026-05-30 03:58:01'
2026-05-30 03:58:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 58, 1, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 03:58:01'
2026-05-30 03:58:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 58, 3, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 03:58:03'
2026-05-30 03:58:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 58, 37, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 03:58:37'
2026-05-30 03:58:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 58, 43, 747000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 03:58:43'
2026-05-30 03:58:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 58, 53, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 03:58:52'
2026-05-30 03:59:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 59, 1, 416488, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16567, 'low': 1.16533, 'close': 1.16541, 'volume': 5.0} | asctime='2026-05-30 03:59:01'
2026-05-30 03:59:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 59, 1, 417951, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16689, 'high': 1.16689, 'low': 1.16657, 'close': 1.16673, 'volume': 5.0} | asctime='2026-05-30 03:59:01'
2026-05-30 03:59:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 59, 1, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 03:59:01'
2026-05-30 03:59:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 59, 1, 996000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 03:59:01'
2026-05-30 03:59:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 59, 3, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 03:59:03'
2026-05-30 03:59:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 3, 59, 44, 576000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 03:59:44'
2026-05-30 04:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 2, 867747, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16575, 'low': 1.16545, 'close': 1.16549, 'volume': 4.0} | asctime='2026-05-30 04:00:02'
2026-05-30 04:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 2, 868567, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.16681, 'low': 1.16665, 'close': 1.16681, 'volume': 4.0} | asctime='2026-05-30 04:00:02'
2026-05-30 04:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 2, 869044, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16551, 'high': 1.16575, 'low': 1.16515, 'close': 1.16549, 'volume': 20.0} | asctime='2026-05-30 04:00:02'
2026-05-30 04:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 2, 869489, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16641, 'high': 1.16692, 'low': 1.16641, 'close': 1.16681, 'volume': 20.0} | asctime='2026-05-30 04:00:02'
2026-05-30 04:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 2, 869991, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16566, 'high': 1.16583, 'low': 1.16515, 'close': 1.16549, 'volume': 69.0} | asctime='2026-05-30 04:00:02'
2026-05-30 04:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 2, 870437, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16656, 'high': 1.16705, 'low': 1.16641, 'close': 1.16681, 'volume': 69.0} | asctime='2026-05-30 04:00:02'
2026-05-30 04:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 2, 948000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 04:00:02'
2026-05-30 04:00:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 4, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 04:00:03'
2026-05-30 04:00:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 28, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:00:28'
2026-05-30 04:00:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 30, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16584, 'volume': 0.0} | asctime='2026-05-30 04:00:30'
2026-05-30 04:00:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 30, 755000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:00:30'
2026-05-30 04:00:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 32, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:00:32'
2026-05-30 04:00:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 48, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 04:00:48'
2026-05-30 04:00:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 53, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:00:53'
2026-05-30 04:00:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 0, 58, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:00:57'
2026-05-30 04:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 1, 2, 65927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16551, 'high': 1.16584, 'low': 1.16551, 'close': 1.16554, 'volume': 9.0} | asctime='2026-05-30 04:01:02'
2026-05-30 04:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 1, 2, 67429, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16683, 'high': 1.16689, 'low': 1.16653, 'close': 1.16686, 'volume': 9.0} | asctime='2026-05-30 04:01:02'
2026-05-30 04:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 1, 2, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 04:01:02'
2026-05-30 04:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 1, 2, 286000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:01:02'
2026-05-30 04:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 1, 3, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:01:02'
2026-05-30 04:01:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 1, 18, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 04:01:17'
2026-05-30 04:02:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 11, 64923, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16577, 'high': 1.16577, 'low': 1.16536, 'close': 1.16567, 'volume': 4.0} | asctime='2026-05-30 04:02:11'
2026-05-30 04:02:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 11, 65923, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16692, 'low': 1.16657, 'close': 1.16657, 'volume': 4.0} | asctime='2026-05-30 04:02:11'
2026-05-30 04:02:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 11, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 04:02:11'
2026-05-30 04:02:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 12, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 04:02:12'
2026-05-30 04:02:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 13, 916000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:02:13'
2026-05-30 04:02:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 14, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 04:02:14'
2026-05-30 04:02:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 14, 412000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:02:14'
2026-05-30 04:02:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 21, 860000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 04:02:21'
2026-05-30 04:02:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 22, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 04:02:22'
2026-05-30 04:02:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 29, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 04:02:29'
2026-05-30 04:02:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 30, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:02:29'
2026-05-30 04:02:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 30, 301000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:02:30'
2026-05-30 04:02:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 42, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 04:02:42'
2026-05-30 04:02:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 49, 792000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:02:49'
2026-05-30 04:02:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 54, 757000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:02:54'
2026-05-30 04:02:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 55, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:02:54'
2026-05-30 04:02:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 55, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 04:02:55'
2026-05-30 04:02:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 2, 56, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:02:56'
2026-05-30 04:03:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 1, 964377, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16575, 'high': 1.16575, 'low': 1.16508, 'close': 1.16539, 'volume': 16.0} | asctime='2026-05-30 04:03:01'
2026-05-30 04:03:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 1, 965082, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16665, 'high': 1.16696, 'low': 1.16639, 'close': 1.16671, 'volume': 16.0} | asctime='2026-05-30 04:03:01'
2026-05-30 04:03:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 2, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 04:03:01'
2026-05-30 04:03:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 3, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 04:03:02'
2026-05-30 04:03:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 4, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:03:03'
2026-05-30 04:03:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 6, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:03:05'
2026-05-30 04:03:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 14, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:03:13'
2026-05-30 04:03:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 18, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 04:03:18'
2026-05-30 04:03:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 26, 538000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:03:26'
2026-05-30 04:03:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 51, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 04:03:51'
2026-05-30 04:03:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 3, 53, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:03:53'
2026-05-30 04:04:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 4, 17, 713507, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16564, 'low': 1.16521, 'close': 1.16553, 'volume': 9.0} | asctime='2026-05-30 04:04:17'
2026-05-30 04:04:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 4, 17, 715447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16643, 'close': 1.16643, 'volume': 9.0} | asctime='2026-05-30 04:04:17'
2026-05-30 04:04:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 4, 17, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 04:04:17'
2026-05-30 04:04:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 4, 20, 538000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16706, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 04:04:20'
2026-05-30 04:04:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 4, 23, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:04:23'
2026-05-30 04:04:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 4, 25, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 04:04:25'
2026-05-30 04:05:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 5, 25, 113294, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.1657, 'low': 1.16502, 'close': 1.1657, 'volume': 4.0} | asctime='2026-05-30 04:05:25'
2026-05-30 04:05:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 5, 25, 114418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16683, 'high': 1.16706, 'low': 1.1666, 'close': 1.1666, 'volume': 4.0} | asctime='2026-05-30 04:05:25'
2026-05-30 04:05:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 5, 25, 116362, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16551, 'high': 1.16584, 'low': 1.16502, 'close': 1.1657, 'volume': 42.0} | asctime='2026-05-30 04:05:25'
2026-05-30 04:05:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 5, 25, 117619, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16683, 'high': 1.16706, 'low': 1.16639, 'close': 1.1666, 'volume': 42.0} | asctime='2026-05-30 04:05:25'
2026-05-30 04:05:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 5, 25, 215000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 04:05:25'
2026-05-30 04:05:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 5, 27, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 04:05:26'
2026-05-30 04:05:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 5, 29, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 04:05:28'
2026-05-30 04:05:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 5, 39, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:05:39'
2026-05-30 04:05:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 5, 41, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:05:41'
2026-05-30 04:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 0, 512499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16565, 'low': 1.16515, 'close': 1.16565, 'volume': 5.0} | asctime='2026-05-30 04:06:00'
2026-05-30 04:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 0, 513792, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16683, 'low': 1.16652, 'close': 1.16655, 'volume': 5.0} | asctime='2026-05-30 04:06:00'
2026-05-30 04:06:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 0, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:06:00'
2026-05-30 04:06:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 3, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 04:06:02'
2026-05-30 04:06:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 5, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:06:04'
2026-05-30 04:06:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 7, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:06:06'
2026-05-30 04:06:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 25, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 04:06:25'
2026-05-30 04:06:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 25, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 04:06:25'
2026-05-30 04:06:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 26, 914000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 04:06:26'
2026-05-30 04:06:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 29, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 04:06:29'
2026-05-30 04:06:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 33, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 04:06:33'
2026-05-30 04:06:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 35, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 04:06:35'
2026-05-30 04:06:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 43, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:06:43'
2026-05-30 04:06:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 6, 45, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 04:06:45'
2026-05-30 04:07:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 1, 61537, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16579, 'low': 1.16515, 'close': 1.16566, 'volume': 12.0} | asctime='2026-05-30 04:07:01'
2026-05-30 04:07:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 1, 62903, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16668, 'high': 1.16697, 'low': 1.16643, 'close': 1.16656, 'volume': 12.0} | asctime='2026-05-30 04:07:01'
2026-05-30 04:07:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 1, 176000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:07:01'
2026-05-30 04:07:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 3, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:07:02'
2026-05-30 04:07:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 15, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16702, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 04:07:14'
2026-05-30 04:07:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 15, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 04:07:15'
2026-05-30 04:07:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 17, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16708, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 04:07:16'
2026-05-30 04:07:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 23, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:07:23'
2026-05-30 04:07:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 25, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:07:25'
2026-05-30 04:07:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 7, 49, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:07:48'
2026-05-30 04:08:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 15, 314661, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16569, 'low': 1.16498, 'close': 1.16569, 'volume': 8.0} | asctime='2026-05-30 04:08:15'
2026-05-30 04:08:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 15, 315798, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16688, 'high': 1.16708, 'low': 1.16659, 'close': 1.16659, 'volume': 8.0} | asctime='2026-05-30 04:08:15'
2026-05-30 04:08:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 15, 411000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:08:15'
2026-05-30 04:08:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 17, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:08:17'
2026-05-30 04:08:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 22, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 04:08:22'
2026-05-30 04:08:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 26, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:08:26'
2026-05-30 04:08:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 31, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 04:08:30'
2026-05-30 04:08:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 31, 176000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:08:31'
2026-05-30 04:08:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 32, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:08:32'
2026-05-30 04:08:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 33, 39000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:08:32'
2026-05-30 04:08:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 38, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:08:38'
2026-05-30 04:08:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 38, 873000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 04:08:38'
2026-05-30 04:08:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 38, 997000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 04:08:38'
2026-05-30 04:08:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 40, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 04:08:40'
2026-05-30 04:08:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 48, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:08:47'
2026-05-30 04:08:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 8, 58, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16733, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 04:08:58'
2026-05-30 04:09:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 0, 10297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.1657, 'low': 1.16505, 'close': 1.16505, 'volume': 14.0} | asctime='2026-05-30 04:09:00'
2026-05-30 04:09:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 0, 11397, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16733, 'low': 1.16644, 'close': 1.16733, 'volume': 14.0} | asctime='2026-05-30 04:09:00'
2026-05-30 04:09:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 0, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16708, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 04:09:00'
2026-05-30 04:09:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 1, 839000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16713, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 04:09:01'
2026-05-30 04:09:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 3, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1671, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:09:02'
2026-05-30 04:09:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 3, 701000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 04:09:03'
2026-05-30 04:09:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 4, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:09:03'
2026-05-30 04:09:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 15, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 04:09:15'
2026-05-30 04:09:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 15, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 04:09:15'
2026-05-30 04:09:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 16, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 04:09:16'
2026-05-30 04:09:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 17, 730000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:09:17'
2026-05-30 04:09:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 24, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 04:09:24'
2026-05-30 04:09:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 28, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 04:09:28'
2026-05-30 04:09:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 34, 862000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 04:09:34'
2026-05-30 04:09:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 38, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 04:09:37'
2026-05-30 04:09:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 42, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 04:09:41'
2026-05-30 04:09:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 42, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 04:09:42'
2026-05-30 04:09:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 42, 434000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 04:09:42'
2026-05-30 04:09:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 44, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 04:09:44'
2026-05-30 04:09:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 50, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:09:50'
2026-05-30 04:09:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 50, 255000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 04:09:50'
2026-05-30 04:09:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 50, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 04:09:50'
2026-05-30 04:09:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 9, 52, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:09:52'
2026-05-30 04:10:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 4, 560006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16504, 'high': 1.16571, 'low': 1.16502, 'close': 1.16541, 'volume': 21.0} | asctime='2026-05-30 04:10:04'
2026-05-30 04:10:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 4, 560953, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16708, 'high': 1.16713, 'low': 1.16631, 'close': 1.16631, 'volume': 21.0} | asctime='2026-05-30 04:10:04'
2026-05-30 04:10:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 4, 562347, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16525, 'high': 1.16579, 'low': 1.16498, 'close': 1.16541, 'volume': 60.0} | asctime='2026-05-30 04:10:04'
2026-05-30 04:10:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 4, 563383, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16681, 'high': 1.16733, 'low': 1.16631, 'close': 1.16631, 'volume': 60.0} | asctime='2026-05-30 04:10:04'
2026-05-30 04:10:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 4, 656000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 04:10:04'
2026-05-30 04:10:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 9, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 04:10:09'
2026-05-30 04:10:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 10, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:10:10'
2026-05-30 04:10:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 11, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:10:11'
2026-05-30 04:10:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 11, 855000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:10:11'
2026-05-30 04:10:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 14, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 04:10:13'
2026-05-30 04:10:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 25, 512000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:10:25'
2026-05-30 04:10:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 25, 883000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:10:25'
2026-05-30 04:10:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 26, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16725, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 04:10:25'
2026-05-30 04:10:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 32, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 04:10:31'
2026-05-30 04:10:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 36, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 04:10:35'
2026-05-30 04:10:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 51, 953000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:10:51'
2026-05-30 04:10:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 56, 919000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:10:56'
2026-05-30 04:10:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 10, 58, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:10:58'
2026-05-30 04:11:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 9, 361365, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16566, 'low': 1.16521, 'close': 1.16549, 'volume': 14.0} | asctime='2026-05-30 04:11:09'
2026-05-30 04:11:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 9, 362666, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16725, 'low': 1.16643, 'close': 1.16705, 'volume': 14.0} | asctime='2026-05-30 04:11:09'
2026-05-30 04:11:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 9, 457000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:11:09'
2026-05-30 04:11:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 10, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:11:09'
2026-05-30 04:11:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 12, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:11:11'
2026-05-30 04:11:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 14, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:11:13'
2026-05-30 04:11:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 20, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:11:20'
2026-05-30 04:11:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 22, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:11:22'
2026-05-30 04:11:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 30, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 04:11:30'
2026-05-30 04:11:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 11, 32, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 04:11:31'
2026-05-30 04:12:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 12, 52, 7768, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16571, 'low': 1.16535, 'close': 1.16543, 'volume': 8.0} | asctime='2026-05-30 04:12:52'
2026-05-30 04:12:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 12, 52, 8859, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16696, 'high': 1.16699, 'low': 1.16661, 'close': 1.16699, 'volume': 8.0} | asctime='2026-05-30 04:12:52'
2026-05-30 04:12:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 12, 52, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:12:52'
2026-05-30 04:13:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 3, 908373, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16549, 'low': 1.16549, 'close': 1.16549, 'volume': 1.0} | asctime='2026-05-30 04:13:03'
2026-05-30 04:13:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 3, 909114, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16681, 'high': 1.16681, 'low': 1.16681, 'close': 1.16681, 'volume': 1.0} | asctime='2026-05-30 04:13:03'
2026-05-30 04:13:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 4, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:13:03'
2026-05-30 04:13:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 6, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:13:06'
2026-05-30 04:13:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 11, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 04:13:11'
2026-05-30 04:13:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 11, 982000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:13:11'
2026-05-30 04:13:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 14, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16583, 'volume': 0.0} | asctime='2026-05-30 04:13:13'
2026-05-30 04:13:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 14, 341000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:13:14'
2026-05-30 04:13:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 23, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:13:23'
2026-05-30 04:13:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 26, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:13:26'
2026-05-30 04:13:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 26, 383000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:13:26'
2026-05-30 04:13:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 26, 879000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16703, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 04:13:26'
2026-05-30 04:13:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 33, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:13:32'
2026-05-30 04:13:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 33, 831000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:13:33'
2026-05-30 04:13:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 34, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:13:33'
2026-05-30 04:13:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 36, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 04:13:35'
2026-05-30 04:13:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 13, 44, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 04:13:44'
2026-05-30 04:15:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 29, 567230, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16583, 'low': 1.16536, 'close': 1.1656, 'volume': 15.0} | asctime='2026-05-30 04:15:29'
2026-05-30 04:15:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 29, 568802, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16701, 'high': 1.16703, 'low': 1.16649, 'close': 1.1665, 'volume': 15.0} | asctime='2026-05-30 04:15:29'
2026-05-30 04:15:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 29, 569395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16526, 'high': 1.16583, 'low': 1.16521, 'close': 1.1656, 'volume': 38.0} | asctime='2026-05-30 04:15:29'
2026-05-30 04:15:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 29, 569907, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16725, 'low': 1.16643, 'close': 1.1665, 'volume': 38.0} | asctime='2026-05-30 04:15:29'
2026-05-30 04:15:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 29, 570365, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16551, 'high': 1.16584, 'low': 1.16498, 'close': 1.1656, 'volume': 140.0} | asctime='2026-05-30 04:15:29'
2026-05-30 04:15:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 29, 572856, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16683, 'high': 1.16733, 'low': 1.16631, 'close': 1.1665, 'volume': 140.0} | asctime='2026-05-30 04:15:29'
2026-05-30 04:15:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 29, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 04:15:29'
2026-05-30 04:15:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 39, 958000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 04:15:39'
2026-05-30 04:15:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 42, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:15:41'
2026-05-30 04:15:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 15, 44, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:15:43'
2026-05-30 04:16:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 16, 9, 787055, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16544, 'low': 1.1652, 'close': 1.16536, 'volume': 4.0} | asctime='2026-05-30 04:16:09'
2026-05-30 04:16:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 16, 9, 788091, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16684, 'low': 1.16668, 'close': 1.16668, 'volume': 4.0} | asctime='2026-05-30 04:16:09'
2026-05-30 04:16:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 16, 9, 876000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 04:16:09'
2026-05-30 04:16:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 16, 9, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 04:16:09'
2026-05-30 04:16:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 16, 10, 744000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:16:10'
2026-05-30 04:16:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 16, 31, 973000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 04:16:31'
2026-05-30 04:16:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 16, 32, 220000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 04:16:32'
2026-05-30 04:16:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 16, 32, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 04:16:32'
2026-05-30 04:16:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 16, 34, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:16:33'
2026-05-30 04:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 0, 861229, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16571, 'low': 1.16512, 'close': 1.16571, 'volume': 7.0} | asctime='2026-05-30 04:17:00'
2026-05-30 04:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 0, 862096, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.16692, 'low': 1.16641, 'close': 1.16641, 'volume': 7.0} | asctime='2026-05-30 04:17:00'
2026-05-30 04:17:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 0, 897000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:17:00'
2026-05-30 04:17:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 2, 387000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 04:17:02'
2026-05-30 04:17:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 2, 759000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 04:17:02'
2026-05-30 04:17:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 3, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 04:17:03'
2026-05-30 04:17:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 4, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 04:17:04'
2026-05-30 04:17:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 26, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:17:26'
2026-05-30 04:17:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 28, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16584, 'volume': 0.0} | asctime='2026-05-30 04:17:28'
2026-05-30 04:17:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 46, 954000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 04:17:46'
2026-05-30 04:17:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 17, 56, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 04:17:56'
2026-05-30 04:18:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 12, 146829, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16584, 'low': 1.16518, 'close': 1.16551, 'volume': 9.0} | asctime='2026-05-30 04:18:12'
2026-05-30 04:18:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 12, 148554, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16685, 'low': 1.1666, 'close': 1.16683, 'volume': 9.0} | asctime='2026-05-30 04:18:12'
2026-05-30 04:18:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 12, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 04:18:12'
2026-05-30 04:18:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 14, 760000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 04:18:14'
2026-05-30 04:18:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 15, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:18:15'
2026-05-30 04:18:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 16, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 04:18:16'
2026-05-30 04:18:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 20, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:18:20'
2026-05-30 04:18:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 30, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:18:30'
2026-05-30 04:18:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 38, 720000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 04:18:38'
2026-05-30 04:18:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 40, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 04:18:40'
2026-05-30 04:18:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 44, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:18:44'
2026-05-30 04:18:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 46, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 04:18:46'
2026-05-30 04:18:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 48, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:18:48'
2026-05-30 04:18:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 49, 644000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:18:49'
2026-05-30 04:18:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 18, 50, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 04:18:50'
2026-05-30 04:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 3, 70876, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1656, 'high': 1.16579, 'low': 1.1653, 'close': 1.16579, 'volume': 13.0} | asctime='2026-05-30 04:19:03'
2026-05-30 04:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 3, 71763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16687, 'low': 1.1665, 'close': 1.16669, 'volume': 13.0} | asctime='2026-05-30 04:19:03'
2026-05-30 04:19:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 3, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:19:03'
2026-05-30 04:19:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 16, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:19:16'
2026-05-30 04:19:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 16, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:19:16'
2026-05-30 04:19:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 16, 334000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:19:16'
2026-05-30 04:19:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 18, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16704, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 04:19:18'
2026-05-30 04:19:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 26, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:19:26'
2026-05-30 04:19:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 28, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 04:19:28'
2026-05-30 04:19:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 32, 224000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:19:32'
2026-05-30 04:19:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 33, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:19:33'
2026-05-30 04:19:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 19, 34, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:19:34'
2026-05-30 04:20:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 20, 55, 226377, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16571, 'high': 1.16571, 'low': 1.16524, 'close': 1.16565, 'volume': 10.0} | asctime='2026-05-30 04:20:55'
2026-05-30 04:20:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 20, 55, 227056, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16705, 'low': 1.16645, 'close': 1.16655, 'volume': 10.0} | asctime='2026-05-30 04:20:55'
2026-05-30 04:20:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 20, 55, 228339, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1652, 'high': 1.16584, 'low': 1.16512, 'close': 1.16565, 'volume': 43.0} | asctime='2026-05-30 04:20:55'
2026-05-30 04:20:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 20, 55, 228937, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16676, 'high': 1.16705, 'low': 1.16641, 'close': 1.16655, 'volume': 43.0} | asctime='2026-05-30 04:20:55'
2026-05-30 04:20:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 20, 55, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 04:20:55'
2026-05-30 04:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 20, 57, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 04:20:57'
2026-05-30 04:21:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 21, 0, 528714, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16563, 'low': 1.16531, 'close': 1.16563, 'volume': 2.0} | asctime='2026-05-30 04:21:00'
2026-05-30 04:21:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 21, 0, 530481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16687, 'high': 1.16687, 'low': 1.16653, 'close': 1.16653, 'volume': 2.0} | asctime='2026-05-30 04:21:00'
2026-05-30 04:21:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 21, 0, 488000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:21:00'
2026-05-30 04:21:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 21, 4, 336000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:21:04'
2026-05-30 04:21:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 21, 5, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:21:05'
2026-05-30 04:22:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 22, 13, 64307, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16565, 'low': 1.16536, 'close': 1.16565, 'volume': 3.0} | asctime='2026-05-30 04:22:13'
2026-05-30 04:22:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 22, 13, 65848, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16668, 'high': 1.16695, 'low': 1.16655, 'close': 1.16655, 'volume': 3.0} | asctime='2026-05-30 04:22:13'
2026-05-30 04:22:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 22, 12, 987000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:22:13'
2026-05-30 04:22:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 22, 16, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16703, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 04:22:16'
2026-05-30 04:22:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 22, 17, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:22:17'
2026-05-30 04:22:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 22, 23, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16706, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:22:23'
2026-05-30 04:22:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 22, 27, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 04:22:27'
2026-05-30 04:22:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 22, 55, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 04:22:55'
2026-05-30 04:24:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 4, 567288, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16566, 'low': 1.16523, 'close': 1.16552, 'volume': 6.0} | asctime='2026-05-30 04:24:04'
2026-05-30 04:24:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 4, 570736, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16688, 'high': 1.16706, 'low': 1.16656, 'close': 1.16684, 'volume': 6.0} | asctime='2026-05-30 04:24:04'
2026-05-30 04:24:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 4, 466000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 04:24:04'
2026-05-30 04:24:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 5, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 04:24:05'
2026-05-30 04:24:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 6, 822000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 04:24:06'
2026-05-30 04:24:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 6, 946000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 04:24:07'
2026-05-30 04:24:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 11, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16713, 'bid_price': 1.16485, 'volume': 0.0} | asctime='2026-05-30 04:24:12'
2026-05-30 04:24:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 13, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 04:24:13'
2026-05-30 04:24:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 15, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 04:24:15'
2026-05-30 04:24:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 15, 512000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 04:24:15'
2026-05-30 04:24:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 15, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 04:24:15'
2026-05-30 04:24:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 16, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 04:24:16'
2026-05-30 04:24:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 24, 17, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:24:17'
2026-05-30 04:26:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 37, 265895, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16569, 'low': 1.16485, 'close': 1.16569, 'volume': 11.0} | asctime='2026-05-30 04:26:37'
2026-05-30 04:26:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 37, 266658, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16713, 'low': 1.16659, 'close': 1.16659, 'volume': 11.0} | asctime='2026-05-30 04:26:37'
2026-05-30 04:26:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 37, 267950, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16531, 'high': 1.16569, 'low': 1.16485, 'close': 1.16569, 'volume': 22.0} | asctime='2026-05-30 04:26:37'
2026-05-30 04:26:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 37, 268931, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16687, 'high': 1.16713, 'low': 1.16653, 'close': 1.16659, 'volume': 22.0} | asctime='2026-05-30 04:26:37'
2026-05-30 04:26:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 37, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:26:37'
2026-05-30 04:26:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 52, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 04:26:52'
2026-05-30 04:26:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 55, 777000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1671, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 04:26:55'
2026-05-30 04:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 56, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16706, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 04:26:56'
2026-05-30 04:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 56, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 04:26:56'
2026-05-30 04:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 56, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 04:26:56'
2026-05-30 04:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 56, 769000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16709, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 04:26:56'
2026-05-30 04:26:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 57, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 04:26:57'
2026-05-30 04:26:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 57, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:26:57'
2026-05-30 04:26:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 58, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:26:58'
2026-05-30 04:26:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 58, 756000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 04:26:58'
2026-05-30 04:26:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 26, 59, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 04:26:59'
2026-05-30 04:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 0, 465534, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16565, 'high': 1.16571, 'low': 1.16502, 'close': 1.1652, 'volume': 12.0} | asctime='2026-05-30 04:27:00'
2026-05-30 04:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 0, 467141, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.1671, 'low': 1.16641, 'close': 1.16676, 'volume': 12.0} | asctime='2026-05-30 04:27:00'
2026-05-30 04:27:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 0, 370000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 04:27:00'
2026-05-30 04:27:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 0, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 04:27:01'
2026-05-30 04:27:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 2, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 04:27:02'
2026-05-30 04:27:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 3, 349000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16488, 'volume': 0.0} | asctime='2026-05-30 04:27:03'
2026-05-30 04:27:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 5, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 04:27:05'
2026-05-30 04:27:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 6, 949000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:27:07'
2026-05-30 04:27:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 7, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 04:27:07'
2026-05-30 04:27:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 7, 197000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 04:27:07'
2026-05-30 04:27:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 7, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 04:27:07'
2026-05-30 04:27:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 7, 445000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 04:27:07'
2026-05-30 04:27:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 8, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:27:08'
2026-05-30 04:27:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 8, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:27:08'
2026-05-30 04:27:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 9, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:27:09'
2026-05-30 04:27:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 11, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:27:11'
2026-05-30 04:27:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 15, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:27:15'
2026-05-30 04:27:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 16, 12000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 04:27:16'
2026-05-30 04:27:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 17, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:27:17'
2026-05-30 04:27:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 19, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:27:19'
2026-05-30 04:27:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 20, 357000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:27:20'
2026-05-30 04:27:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 23, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:27:24'
2026-05-30 04:27:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 24, 205000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:27:24'
2026-05-30 04:27:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 25, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:27:25'
2026-05-30 04:27:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 27, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 04:27:27'
2026-05-30 04:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 28, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:27:28'
2026-05-30 04:27:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 29, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:27:29'
2026-05-30 04:27:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 31, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16585, 'volume': 0.0} | asctime='2026-05-30 04:27:31'
2026-05-30 04:27:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 31, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:27:31'
2026-05-30 04:27:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 31, 531000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:27:31'
2026-05-30 04:27:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 32, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 04:27:32'
2026-05-30 04:27:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 33, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 04:27:33'
2026-05-30 04:27:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 35, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:27:35'
2026-05-30 04:27:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 40, 220000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 04:27:40'
2026-05-30 04:27:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 41, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 04:27:41'
2026-05-30 04:27:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 42, 454000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:27:42'
2026-05-30 04:27:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 43, 571000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:27:43'
2026-05-30 04:27:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 45, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:27:45'
2026-05-30 04:27:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 47, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 04:27:47'
2026-05-30 04:27:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 27, 59, 833000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:27:59'
2026-05-30 04:28:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 28, 1, 165372, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16585, 'low': 1.16488, 'close': 1.16542, 'volume': 38.0} | asctime='2026-05-30 04:28:01'
2026-05-30 04:28:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 28, 1, 166139, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16701, 'low': 1.16651, 'close': 1.16674, 'volume': 38.0} | asctime='2026-05-30 04:28:01'
2026-05-30 04:28:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 28, 1, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:28:01'
2026-05-30 04:28:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 28, 30, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:28:30'
2026-05-30 04:28:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 28, 51, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:28:51'
2026-05-30 04:29:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 11, 564681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16557, 'high': 1.16569, 'low': 1.16542, 'close': 1.16569, 'volume': 3.0} | asctime='2026-05-30 04:29:11'
2026-05-30 04:29:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 11, 565639, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16674, 'low': 1.16647, 'close': 1.16659, 'volume': 3.0} | asctime='2026-05-30 04:29:11'
2026-05-30 04:29:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 11, 462000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:29:11'
2026-05-30 04:29:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 15, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:29:15'
2026-05-30 04:29:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 17, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:29:17'
2026-05-30 04:29:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 19, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 04:29:19'
2026-05-30 04:29:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 32, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:29:32'
2026-05-30 04:29:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 55, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 04:29:55'
2026-05-30 04:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 59, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:29:59'
2026-05-30 04:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 29, 59, 256000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 04:29:59'
2026-05-30 04:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 0, 463780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16563, 'low': 1.16536, 'close': 1.16561, 'volume': 8.0} | asctime='2026-05-30 04:30:00'
2026-05-30 04:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 0, 464630, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16676, 'low': 1.16641, 'close': 1.16651, 'volume': 8.0} | asctime='2026-05-30 04:30:00'
2026-05-30 04:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 0, 465874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16565, 'high': 1.16585, 'low': 1.16488, 'close': 1.16561, 'volume': 61.0} | asctime='2026-05-30 04:30:00'
2026-05-30 04:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 0, 466920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16655, 'high': 1.1671, 'low': 1.16641, 'close': 1.16651, 'volume': 61.0} | asctime='2026-05-30 04:30:00'
2026-05-30 04:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 0, 467785, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1652, 'high': 1.16585, 'low': 1.16485, 'close': 1.16561, 'volume': 126.0} | asctime='2026-05-30 04:30:00'
2026-05-30 04:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 0, 469027, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16676, 'high': 1.16713, 'low': 1.16641, 'close': 1.16651, 'volume': 126.0} | asctime='2026-05-30 04:30:00'
2026-05-30 04:30:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 0, 373000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:30:00'
2026-05-30 04:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 1, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 04:30:01'
2026-05-30 04:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 1, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 04:30:01'
2026-05-30 04:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 1, 862000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 04:30:01'
2026-05-30 04:30:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 3, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:30:03'
2026-05-30 04:30:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 17, 8000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:30:17'
2026-05-30 04:30:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 27, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 04:30:27'
2026-05-30 04:30:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 42, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:30:42'
2026-05-30 04:30:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 42, 207000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:30:42'
2026-05-30 04:30:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 43, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:30:43'
2026-05-30 04:30:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 45, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 04:30:45'
2026-05-30 04:30:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 56, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:30:56'
2026-05-30 04:30:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 30, 58, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 04:30:58'
2026-05-30 04:31:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 0, 313380, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16574, 'low': 1.16527, 'close': 1.16572, 'volume': 13.0} | asctime='2026-05-30 04:31:00'
2026-05-30 04:31:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 0, 314962, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1669, 'low': 1.16649, 'close': 1.16662, 'volume': 13.0} | asctime='2026-05-30 04:31:00'
2026-05-30 04:31:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 0, 208000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:31:00'
2026-05-30 04:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 4, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 04:31:04'
2026-05-30 04:31:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 6, 175000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 04:31:06'
2026-05-30 04:31:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 12, 996000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:31:13'
2026-05-30 04:31:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 24, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:31:24'
2026-05-30 04:31:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 31, 493000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:31:31'
2026-05-30 04:31:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 31, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 04:31:31'
2026-05-30 04:31:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 31, 865000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:31:31'
2026-05-30 04:31:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 36, 459000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16718, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 04:31:36'
2026-05-30 04:31:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 37, 452000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 04:31:37'
2026-05-30 04:31:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 38, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:31:38'
2026-05-30 04:31:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 40, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 04:31:40'
2026-05-30 04:31:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 42, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 04:31:42'
2026-05-30 04:31:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 49, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 04:31:49'
2026-05-30 04:31:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 50, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 04:31:50'
2026-05-30 04:31:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 51, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 04:31:51'
2026-05-30 04:31:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 52, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 04:31:52'
2026-05-30 04:31:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 54, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 04:31:54'
2026-05-30 04:31:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 54, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:31:54'
2026-05-30 04:31:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 56, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:31:56'
2026-05-30 04:31:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 31, 58, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:31:58'
2026-05-30 04:32:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 2, 116449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16573, 'low': 1.16514, 'close': 1.16562, 'volume': 21.0} | asctime='2026-05-30 04:32:02'
2026-05-30 04:32:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 2, 118277, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16718, 'low': 1.16648, 'close': 1.16652, 'volume': 21.0} | asctime='2026-05-30 04:32:02'
2026-05-30 04:32:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 2, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 04:32:02'
2026-05-30 04:32:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 3, 770000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:32:03'
2026-05-30 04:32:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 4, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:32:04'
2026-05-30 04:32:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 5, 882000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:32:05'
2026-05-30 04:32:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 6, 376000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 04:32:06'
2026-05-30 04:32:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 8, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:32:08'
2026-05-30 04:32:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 10, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 04:32:10'
2026-05-30 04:32:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 12, 708000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:32:12'
2026-05-30 04:32:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 22, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 04:32:22'
2026-05-30 04:32:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 24, 4000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:32:24'
2026-05-30 04:32:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 24, 252000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16591, 'volume': 0.0} | asctime='2026-05-30 04:32:24'
2026-05-30 04:32:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 48, 212000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16725, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 04:32:48'
2026-05-30 04:32:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 50, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 04:32:50'
2026-05-30 04:32:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 53, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:32:53'
2026-05-30 04:32:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 54, 916000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 04:32:55'
2026-05-30 04:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 58, 763000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:32:58'
2026-05-30 04:32:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 32, 59, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:32:59'
2026-05-30 04:33:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 2, 212858, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16566, 'high': 1.16591, 'low': 1.16521, 'close': 1.16549, 'volume': 17.0} | asctime='2026-05-30 04:33:02'
2026-05-30 04:33:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 2, 213553, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16725, 'low': 1.16641, 'close': 1.16681, 'volume': 17.0} | asctime='2026-05-30 04:33:02'
2026-05-30 04:33:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 2, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 04:33:02'
2026-05-30 04:33:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 4, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:33:04'
2026-05-30 04:33:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 5, 468000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 04:33:05'
2026-05-30 04:33:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 7, 205000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:33:07'
2026-05-30 04:33:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 11, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 04:33:11'
2026-05-30 04:33:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 12, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:33:12'
2026-05-30 04:33:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 12, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 04:33:12'
2026-05-30 04:33:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 16, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 04:33:16'
2026-05-30 04:33:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 18, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 04:33:18'
2026-05-30 04:33:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 38, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 04:33:38'
2026-05-30 04:33:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 41, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:33:41'
2026-05-30 04:33:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 42, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 04:33:42'
2026-05-30 04:33:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 43, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:33:43'
2026-05-30 04:33:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 43, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:33:44'
2026-05-30 04:33:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 48, 669000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:33:48'
2026-05-30 04:33:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 50, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 04:33:50'
2026-05-30 04:33:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 50, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:33:50'
2026-05-30 04:33:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 52, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:33:52'
2026-05-30 04:33:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 57, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 04:33:57'
2026-05-30 04:33:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 57, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 04:33:57'
2026-05-30 04:33:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 33, 59, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 04:33:59'
2026-05-30 04:34:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 1, 162253, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16568, 'high': 1.16568, 'low': 1.16514, 'close': 1.16524, 'volume': 21.0} | asctime='2026-05-30 04:34:01'
2026-05-30 04:34:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 1, 163437, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.1669, 'low': 1.16636, 'close': 1.16656, 'volume': 21.0} | asctime='2026-05-30 04:34:01'
2026-05-30 04:34:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 1, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:34:01'
2026-05-30 04:34:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 4, 188000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:34:04'
2026-05-30 04:34:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 5, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:34:05'
2026-05-30 04:34:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 7, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 04:34:07'
2026-05-30 04:34:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 9, 773000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:34:09'
2026-05-30 04:34:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 11, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 04:34:11'
2026-05-30 04:34:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 23, 926000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 04:34:24'
2026-05-30 04:34:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 40, 933000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 04:34:41'
2026-05-30 04:34:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 41, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16731, 'bid_price': 1.16479, 'volume': 0.0} | asctime='2026-05-30 04:34:41'
2026-05-30 04:34:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 42, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:34:42'
2026-05-30 04:34:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 42, 422000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:34:42'
2026-05-30 04:34:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 42, 919000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 04:34:43'
2026-05-30 04:34:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 43, 416000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 04:34:43'
2026-05-30 04:34:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 45, 902000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 04:34:46'
2026-05-30 04:34:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 46, 768000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:34:46'
2026-05-30 04:34:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 47, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:34:47'
2026-05-30 04:34:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 49, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16582, 'volume': 0.0} | asctime='2026-05-30 04:34:49'
2026-05-30 04:34:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 34, 58, 189000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:34:58'
2026-05-30 04:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 1, 511393, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16562, 'high': 1.16582, 'low': 1.16479, 'close': 1.16555, 'volume': 18.0} | asctime='2026-05-30 04:35:01'
2026-05-30 04:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 1, 512122, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16731, 'low': 1.16637, 'close': 1.16687, 'volume': 18.0} | asctime='2026-05-30 04:35:01'
2026-05-30 04:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 1, 514262, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16538, 'high': 1.16591, 'low': 1.16479, 'close': 1.16555, 'volume': 90.0} | asctime='2026-05-30 04:35:01'
2026-05-30 04:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 1, 514750, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1667, 'high': 1.16731, 'low': 1.16636, 'close': 1.16687, 'volume': 90.0} | asctime='2026-05-30 04:35:01'
2026-05-30 04:35:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 1, 416000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:35:01'
2026-05-30 04:35:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 3, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:35:03'
2026-05-30 04:35:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 5, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16709, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:35:05'
2026-05-30 04:35:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 5, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:35:05'
2026-05-30 04:35:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 6, 258000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:35:06'
2026-05-30 04:35:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 7, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 04:35:07'
2026-05-30 04:35:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 13, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 04:35:13'
2026-05-30 04:35:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 15, 196000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:35:15'
2026-05-30 04:35:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 15, 568000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 04:35:15'
2026-05-30 04:35:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 23, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16592, 'volume': 0.0} | asctime='2026-05-30 04:35:23'
2026-05-30 04:35:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 24, 755000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 04:35:24'
2026-05-30 04:35:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 24, 883000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:35:24'
2026-05-30 04:35:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 27, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 04:35:27'
2026-05-30 04:35:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 34, 314000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16711, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 04:35:34'
2026-05-30 04:35:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 34, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:35:34'
2026-05-30 04:35:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 35, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:35:35'
2026-05-30 04:35:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 37, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 04:35:37'
2026-05-30 04:35:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 37, 293000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 04:35:37'
2026-05-30 04:35:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 39, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 04:35:39'
2026-05-30 04:35:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 40, 893000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 04:35:40'
2026-05-30 04:35:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 41, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 04:35:41'
2026-05-30 04:35:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 43, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:35:43'
2026-05-30 04:35:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 45, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 04:35:45'
2026-05-30 04:35:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 53, 183000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:35:53'
2026-05-30 04:35:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 54, 424000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:35:54'
2026-05-30 04:35:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 54, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:35:54'
2026-05-30 04:35:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 35, 57, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 04:35:57'
2026-05-30 04:36:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 0, 960631, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16592, 'low': 1.16507, 'close': 1.16568, 'volume': 27.0} | asctime='2026-05-30 04:36:00'
2026-05-30 04:36:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 0, 961532, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16693, 'high': 1.16711, 'low': 1.16633, 'close': 1.16658, 'volume': 27.0} | asctime='2026-05-30 04:36:00'
2026-05-30 04:36:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 0, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 04:36:00'
2026-05-30 04:36:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 3, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 04:36:03'
2026-05-30 04:36:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 3, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:36:03'
2026-05-30 04:36:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 3, 735000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 04:36:03'
2026-05-30 04:36:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 4, 852000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 04:36:04'
2026-05-30 04:36:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 4, 976000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 04:36:05'
2026-05-30 04:36:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 7, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:36:07'
2026-05-30 04:36:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 20, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 04:36:21'
2026-05-30 04:36:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 21, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 04:36:21'
2026-05-30 04:36:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 24, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16573, 'volume': 0.0} | asctime='2026-05-30 04:36:24'
2026-05-30 04:36:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 24, 218000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:36:24'
2026-05-30 04:36:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 25, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:36:25'
2026-05-30 04:36:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 28, 191000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16704, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 04:36:28'
2026-05-30 04:36:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 30, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 04:36:30'
2026-05-30 04:36:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 31, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16582, 'volume': 0.0} | asctime='2026-05-30 04:36:31'
2026-05-30 04:36:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 32, 287000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:36:32'
2026-05-30 04:36:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 35, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 04:36:35'
2026-05-30 04:36:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 35, 887000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:36:35'
2026-05-30 04:36:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 37, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:36:37'
2026-05-30 04:36:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 40, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.1658, 'volume': 0.0} | asctime='2026-05-30 04:36:40'
2026-05-30 04:36:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 41, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:36:41'
2026-05-30 04:36:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 44, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 04:36:44'
2026-05-30 04:36:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 44, 204000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 04:36:44'
2026-05-30 04:36:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 36, 45, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 04:36:45'
2026-05-30 04:37:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 4, 660368, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16563, 'high': 1.16582, 'low': 1.16524, 'close': 1.16547, 'volume': 24.0} | asctime='2026-05-30 04:37:04'
2026-05-30 04:37:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 4, 661244, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16704, 'low': 1.16637, 'close': 1.16637, 'volume': 24.0} | asctime='2026-05-30 04:37:04'
2026-05-30 04:37:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 4, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:37:04'
2026-05-30 04:37:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 5, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:37:05'
2026-05-30 04:37:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 5, 184000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:37:05'
2026-05-30 04:37:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 5, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:37:05'
2026-05-30 04:37:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 7, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:37:07'
2026-05-30 04:37:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 19, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:37:19'
2026-05-30 04:37:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 23, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:37:23'
2026-05-30 04:37:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 23, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:37:23'
2026-05-30 04:37:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 24, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:37:24'
2026-05-30 04:37:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 25, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:37:25'
2026-05-30 04:37:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 27, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 04:37:27'
2026-05-30 04:37:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 38, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 04:37:38'
2026-05-30 04:37:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 39, 571000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 04:37:39'
2026-05-30 04:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 41, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 04:37:41'
2026-05-30 04:37:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 45, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 04:37:45'
2026-05-30 04:37:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 57, 944000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 04:37:58'
2026-05-30 04:37:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 37, 59, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16572, 'volume': 0.0} | asctime='2026-05-30 04:37:59'
2026-05-30 04:38:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 15, 160039, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16572, 'low': 1.16518, 'close': 1.16572, 'volume': 17.0} | asctime='2026-05-30 04:38:15'
2026-05-30 04:38:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 15, 161413, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16668, 'high': 1.16696, 'low': 1.16629, 'close': 1.16642, 'volume': 17.0} | asctime='2026-05-30 04:38:15'
2026-05-30 04:38:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 15, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 04:38:15'
2026-05-30 04:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 16, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 04:38:16'
2026-05-30 04:38:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 21, 655000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:38:21'
2026-05-30 04:38:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 21, 778000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16707, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 04:38:21'
2026-05-30 04:38:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 23, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:38:23'
2026-05-30 04:38:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 25, 504000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:38:25'
2026-05-30 04:38:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 26, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:38:26'
2026-05-30 04:38:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 27, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 04:38:27'
2026-05-30 04:38:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 42, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 04:38:42'
2026-05-30 04:38:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 42, 386000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16704, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 04:38:42'
2026-05-30 04:38:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 42, 883000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16706, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:38:42'
2026-05-30 04:38:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 43, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:38:43'
2026-05-30 04:38:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 44, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:38:44'
2026-05-30 04:38:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 46, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 04:38:46'
2026-05-30 04:38:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 47, 973000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:38:48'
2026-05-30 04:38:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 48, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:38:49'
2026-05-30 04:38:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 50, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:38:50'
2026-05-30 04:38:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 51, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:38:51'
2026-05-30 04:38:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 54, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 04:38:54'
2026-05-30 04:38:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 38, 56, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:38:56'
2026-05-30 04:39:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 15, 508420, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16567, 'low': 1.16531, 'close': 1.16534, 'volume': 20.0} | asctime='2026-05-30 04:39:15'
2026-05-30 04:39:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 15, 510109, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16687, 'high': 1.16707, 'low': 1.16657, 'close': 1.16666, 'volume': 20.0} | asctime='2026-05-30 04:39:15'
2026-05-30 04:39:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 15, 407000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:39:15'
2026-05-30 04:39:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 16, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16703, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 04:39:16'
2026-05-30 04:39:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 19, 752000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16585, 'volume': 0.0} | asctime='2026-05-30 04:39:19'
2026-05-30 04:39:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 20, 1000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:39:20'
2026-05-30 04:39:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 20, 249000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 04:39:20'
2026-05-30 04:39:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 22, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 04:39:22'
2026-05-30 04:39:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 32, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:39:32'
2026-05-30 04:39:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 33, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:39:33'
2026-05-30 04:39:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 48, 925000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:39:49'
2026-05-30 04:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 57, 243000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:39:57'
2026-05-30 04:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 39, 58, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:39:58'
2026-05-30 04:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 40, 0, 208450, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16585, 'low': 1.16532, 'close': 1.16544, 'volume': 11.0} | asctime='2026-05-30 04:40:00'
2026-05-30 04:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 40, 0, 209202, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16697, 'high': 1.16703, 'low': 1.16661, 'close': 1.16676, 'volume': 11.0} | asctime='2026-05-30 04:40:00'
2026-05-30 04:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 40, 0, 210269, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16537, 'high': 1.16592, 'low': 1.16507, 'close': 1.16544, 'volume': 99.0} | asctime='2026-05-30 04:40:00'
2026-05-30 04:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 40, 0, 211056, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16693, 'high': 1.16711, 'low': 1.16629, 'close': 1.16676, 'volume': 99.0} | asctime='2026-05-30 04:40:00'
2026-05-30 04:40:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 40, 0, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 04:40:00'
2026-05-30 04:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 40, 3, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:40:03'
2026-05-30 04:40:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 40, 18, 720000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 04:40:18'
2026-05-30 04:40:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 40, 19, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 04:40:20'
2026-05-30 04:40:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 40, 40, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 04:40:40'
2026-05-30 04:41:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 5, 107396, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1656, 'high': 1.1656, 'low': 1.16519, 'close': 1.1652, 'volume': 5.0} | asctime='2026-05-30 04:41:05'
2026-05-30 04:41:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 5, 108956, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16676, 'low': 1.1665, 'close': 1.16652, 'volume': 5.0} | asctime='2026-05-30 04:41:05'
2026-05-30 04:41:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 5, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 04:41:05'
2026-05-30 04:41:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 7, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:41:07'
2026-05-30 04:41:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 30, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:41:30'
2026-05-30 04:41:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 34, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:41:34'
2026-05-30 04:41:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 39, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:41:39'
2026-05-30 04:41:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 40, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:41:40'
2026-05-30 04:41:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 42, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 04:41:42'
2026-05-30 04:41:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 43, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 04:41:43'
2026-05-30 04:41:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 44, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:41:44'
2026-05-30 04:41:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 46, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 04:41:46'
2026-05-30 04:41:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 47, 231000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:41:47'
2026-05-30 04:41:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 48, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:41:48'
2026-05-30 04:41:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 50, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:41:50'
2026-05-30 04:41:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 51, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 04:41:51'
2026-05-30 04:41:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 41, 52, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 04:41:52'
2026-05-30 04:42:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 2, 707418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16578, 'low': 1.16517, 'close': 1.16576, 'volume': 15.0} | asctime='2026-05-30 04:42:02'
2026-05-30 04:42:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 2, 708052, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16692, 'low': 1.16666, 'close': 1.16666, 'volume': 15.0} | asctime='2026-05-30 04:42:02'
2026-05-30 04:42:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 2, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.1658, 'volume': 0.0} | asctime='2026-05-30 04:42:02'
2026-05-30 04:42:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 3, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 04:42:03'
2026-05-30 04:42:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 28, 447000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:42:28'
2026-05-30 04:42:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 29, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 04:42:29'
2026-05-30 04:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 30, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:42:30'
2026-05-30 04:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 30, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 04:42:30'
2026-05-30 04:42:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 32, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:42:32'
2026-05-30 04:42:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 42, 34, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:42:34'
2026-05-30 04:43:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 43, 36, 956412, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1658, 'high': 1.1658, 'low': 1.16529, 'close': 1.1654, 'volume': 8.0} | asctime='2026-05-30 04:43:36'
2026-05-30 04:43:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 43, 36, 957452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.16685, 'low': 1.16665, 'close': 1.16672, 'volume': 8.0} | asctime='2026-05-30 04:43:36'
2026-05-30 04:43:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 43, 36, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:43:36'
2026-05-30 04:43:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 43, 39, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:43:39'
2026-05-30 04:44:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 5, 755491, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16555, 'low': 1.16541, 'close': 1.16555, 'volume': 2.0} | asctime='2026-05-30 04:44:05'
2026-05-30 04:44:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 5, 756537, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16673, 'low': 1.16645, 'close': 1.16645, 'volume': 2.0} | asctime='2026-05-30 04:44:05'
2026-05-30 04:44:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 5, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:44:05'
2026-05-30 04:44:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 5, 895000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:44:06'
2026-05-30 04:44:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 6, 393000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:44:06'
2026-05-30 04:44:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 9, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:44:09'
2026-05-30 04:44:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 13, 965000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 04:44:14'
2026-05-30 04:44:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 14, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:44:14'
2026-05-30 04:44:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 15, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:44:15'
2026-05-30 04:44:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 19, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:44:19'
2026-05-30 04:44:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 31, 717000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:44:31'
2026-05-30 04:44:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 33, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:44:33'
2026-05-30 04:44:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 34, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:44:35'
2026-05-30 04:44:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 35, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:44:35'
2026-05-30 04:44:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 39, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 04:44:39'
2026-05-30 04:44:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 41, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 04:44:41'
2026-05-30 04:44:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 52, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:44:52'
2026-05-30 04:44:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 44, 59, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16585, 'volume': 0.0} | asctime='2026-05-30 04:44:59'
2026-05-30 04:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 3, 204798, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16585, 'low': 1.16521, 'close': 1.16585, 'volume': 16.0} | asctime='2026-05-30 04:45:03'
2026-05-30 04:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 3, 206618, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16698, 'low': 1.16655, 'close': 1.16675, 'volume': 16.0} | asctime='2026-05-30 04:45:03'
2026-05-30 04:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 3, 207840, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1656, 'high': 1.16585, 'low': 1.16517, 'close': 1.16585, 'volume': 46.0} | asctime='2026-05-30 04:45:03'
2026-05-30 04:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 3, 209387, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1665, 'high': 1.16698, 'low': 1.16645, 'close': 1.16675, 'volume': 46.0} | asctime='2026-05-30 04:45:03'
2026-05-30 04:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 3, 210459, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16538, 'high': 1.16592, 'low': 1.16479, 'close': 1.16585, 'volume': 235.0} | asctime='2026-05-30 04:45:03'
2026-05-30 04:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 3, 211306, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1667, 'high': 1.16731, 'low': 1.16629, 'close': 1.16675, 'volume': 235.0} | asctime='2026-05-30 04:45:03'
2026-05-30 04:45:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 3, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:45:03'
2026-05-30 04:45:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 12, 931000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 04:45:13'
2026-05-30 04:45:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 25, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:45:26'
2026-05-30 04:45:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 26, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 04:45:26'
2026-05-30 04:45:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 27, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 04:45:27'
2026-05-30 04:45:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 27, 953000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 04:45:28'
2026-05-30 04:45:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 29, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 04:45:29'
2026-05-30 04:45:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 32, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:45:32'
2026-05-30 04:45:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 45, 43, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 04:45:43'
2026-05-30 04:46:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 46, 45, 103872, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16555, 'high': 1.16579, 'low': 1.16525, 'close': 1.16579, 'volume': 9.0} | asctime='2026-05-30 04:46:45'
2026-05-30 04:46:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 46, 45, 105086, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16687, 'high': 1.1669, 'low': 1.16654, 'close': 1.16669, 'volume': 9.0} | asctime='2026-05-30 04:46:45'
2026-05-30 04:46:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 46, 45, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:46:45'
2026-05-30 04:46:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 46, 46, 409000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16706, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:46:46'
2026-05-30 04:46:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 46, 48, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 04:46:48'
2026-05-30 04:46:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 46, 50, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 04:46:50'
2026-05-30 04:46:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 46, 59, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 04:46:59'
2026-05-30 04:47:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 1, 153996, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1655, 'high': 1.16576, 'low': 1.1655, 'close': 1.16556, 'volume': 5.0} | asctime='2026-05-30 04:47:01'
2026-05-30 04:47:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 1, 154862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16706, 'low': 1.16666, 'close': 1.16688, 'volume': 5.0} | asctime='2026-05-30 04:47:01'
2026-05-30 04:47:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 1, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 04:47:01'
2026-05-30 04:47:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 3, 44000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16577, 'volume': 0.0} | asctime='2026-05-30 04:47:03'
2026-05-30 04:47:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 5, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:47:05'
2026-05-30 04:47:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 8, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:47:08'
2026-05-30 04:47:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 9, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:47:09'
2026-05-30 04:47:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 14, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:47:14'
2026-05-30 04:47:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 21, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:47:21'
2026-05-30 04:47:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 21, 416000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 04:47:21'
2026-05-30 04:47:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 23, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:47:23'
2026-05-30 04:47:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 29, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:47:29'
2026-05-30 04:47:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 31, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 04:47:31'
2026-05-30 04:47:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 42, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:47:42'
2026-05-30 04:47:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 43, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 04:47:43'
2026-05-30 04:47:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 44, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:47:44'
2026-05-30 04:47:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 53, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 04:47:53'
2026-05-30 04:47:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 47, 55, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 04:47:55'
2026-05-30 04:48:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 13, 753449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16578, 'high': 1.16578, 'low': 1.16527, 'close': 1.16564, 'volume': 16.0} | asctime='2026-05-30 04:48:13'
2026-05-30 04:48:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 13, 754195, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16668, 'high': 1.16683, 'low': 1.16624, 'close': 1.16654, 'volume': 16.0} | asctime='2026-05-30 04:48:13'
2026-05-30 04:48:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 13, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 04:48:13'
2026-05-30 04:48:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 13, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:48:13'
2026-05-30 04:48:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 14, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 04:48:15'
2026-05-30 04:48:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 17, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 04:48:17'
2026-05-30 04:48:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 24, 852000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 04:48:24'
2026-05-30 04:48:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 24, 976000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:48:25'
2026-05-30 04:48:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 25, 349000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:48:25'
2026-05-30 04:48:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 35, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:48:35'
2026-05-30 04:48:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 41, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:48:41'
2026-05-30 04:48:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 43, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:48:43'
2026-05-30 04:48:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 45, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:48:45'
2026-05-30 04:48:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 49, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:48:49'
2026-05-30 04:48:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 55, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:48:55'
2026-05-30 04:48:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 48, 57, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16582, 'volume': 0.0} | asctime='2026-05-30 04:48:57'
2026-05-30 04:49:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 49, 11, 752212, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16551, 'high': 1.16582, 'low': 1.16532, 'close': 1.16582, 'volume': 14.0} | asctime='2026-05-30 04:49:11'
2026-05-30 04:49:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 49, 11, 753246, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16683, 'high': 1.16688, 'low': 1.16655, 'close': 1.16672, 'volume': 14.0} | asctime='2026-05-30 04:49:11'
2026-05-30 04:49:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 49, 11, 653000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:49:11'
2026-05-30 04:49:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 49, 13, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:49:13'
2026-05-30 04:50:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 50, 47, 51634, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16554, 'high': 1.16569, 'low': 1.16554, 'close': 1.16569, 'volume': 2.0} | asctime='2026-05-30 04:50:47'
2026-05-30 04:50:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 50, 47, 52707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16686, 'high': 1.16686, 'low': 1.16659, 'close': 1.16659, 'volume': 2.0} | asctime='2026-05-30 04:50:47'
2026-05-30 04:50:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 50, 47, 53821, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16555, 'high': 1.16582, 'low': 1.16525, 'close': 1.16569, 'volume': 46.0} | asctime='2026-05-30 04:50:47'
2026-05-30 04:50:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 50, 47, 54322, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16687, 'high': 1.16706, 'low': 1.16624, 'close': 1.16659, 'volume': 46.0} | asctime='2026-05-30 04:50:47'
2026-05-30 04:50:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 50, 46, 993000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:50:47'
2026-05-30 04:50:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 50, 54, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:50:54'
2026-05-30 04:50:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 50, 55, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1658, 'volume': 0.0} | asctime='2026-05-30 04:50:55'
2026-05-30 04:51:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 51, 25, 450864, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.1658, 'low': 1.16541, 'close': 1.1658, 'volume': 3.0} | asctime='2026-05-30 04:51:25'
2026-05-30 04:51:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 51, 25, 451712, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16678, 'low': 1.1665, 'close': 1.1665, 'volume': 3.0} | asctime='2026-05-30 04:51:25'
2026-05-30 04:51:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 51, 25, 351000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 04:51:25'
2026-05-30 04:51:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 51, 34, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:51:34'
2026-05-30 04:51:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 51, 36, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:51:36'
2026-05-30 04:51:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 51, 38, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 04:51:38'
2026-05-30 04:52:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 2, 50601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16569, 'low': 1.16529, 'close': 1.16563, 'volume': 4.0} | asctime='2026-05-30 04:52:02'
2026-05-30 04:52:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 2, 51486, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16685, 'low': 1.16653, 'close': 1.16653, 'volume': 4.0} | asctime='2026-05-30 04:52:02'
2026-05-30 04:52:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 1, 972000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 04:52:02'
2026-05-30 04:52:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 4, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:52:04'
2026-05-30 04:52:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 6, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 04:52:06'
2026-05-30 04:52:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 28, 786000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:52:28'
2026-05-30 04:52:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 29, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:52:29'
2026-05-30 04:52:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 29, 779000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:52:29'
2026-05-30 04:52:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 30, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 04:52:30'
2026-05-30 04:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 34, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 04:52:34'
2026-05-30 04:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 34, 869000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 04:52:34'
2026-05-30 04:52:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 35, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 04:52:35'
2026-05-30 04:52:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 40, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16697, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:52:40'
2026-05-30 04:52:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 42, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:52:42'
2026-05-30 04:52:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 52, 46, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 04:52:46'
2026-05-30 04:53:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 53, 1, 500020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16576, 'low': 1.16523, 'close': 1.16563, 'volume': 13.0} | asctime='2026-05-30 04:53:01'
2026-05-30 04:53:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 53, 1, 501148, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16701, 'low': 1.1665, 'close': 1.16653, 'volume': 13.0} | asctime='2026-05-30 04:53:01'
2026-05-30 04:53:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 53, 1, 435000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:53:01'
2026-05-30 04:53:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 53, 14, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:53:14'
2026-05-30 04:53:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 53, 31, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:53:31'
2026-05-30 04:53:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 53, 57, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:53:57'
2026-05-30 04:53:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 53, 58, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:53:58'
2026-05-30 04:54:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 2, 349790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16557, 'low': 1.16532, 'close': 1.16557, 'volume': 5.0} | asctime='2026-05-30 04:54:02'
2026-05-30 04:54:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 2, 351719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.16689, 'low': 1.16643, 'close': 1.16689, 'volume': 5.0} | asctime='2026-05-30 04:54:02'
2026-05-30 04:54:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 2, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:54:02'
2026-05-30 04:54:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 4, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 04:54:04'
2026-05-30 04:54:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 31, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 04:54:31'
2026-05-30 04:54:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 36, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 04:54:36'
2026-05-30 04:54:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 38, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 04:54:38'
2026-05-30 04:54:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 47, 202000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 04:54:47'
2026-05-30 04:54:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 49, 455000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 04:54:49'
2026-05-30 04:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 55, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 04:54:55'
2026-05-30 04:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 55, 271000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16703, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 04:54:55'
2026-05-30 04:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 55, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 04:54:55'
2026-05-30 04:54:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 56, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:54:56'
2026-05-30 04:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 57, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 04:54:57'
2026-05-30 04:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 57, 879000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:54:57'
2026-05-30 04:54:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 54, 59, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 04:54:59'
2026-05-30 04:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 0, 198581, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.1657, 'low': 1.16499, 'close': 1.16542, 'volume': 14.0} | asctime='2026-05-30 04:55:00'
2026-05-30 04:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 0, 200022, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16693, 'high': 1.16703, 'low': 1.16641, 'close': 1.16698, 'volume': 14.0} | asctime='2026-05-30 04:55:00'
2026-05-30 04:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 0, 201057, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16541, 'high': 1.1658, 'low': 1.16499, 'close': 1.16542, 'volume': 39.0} | asctime='2026-05-30 04:55:00'
2026-05-30 04:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 0, 201993, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16673, 'high': 1.16703, 'low': 1.16641, 'close': 1.16698, 'volume': 39.0} | asctime='2026-05-30 04:55:00'
2026-05-30 04:55:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 0, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 04:55:00'
2026-05-30 04:55:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 1, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:55:01'
2026-05-30 04:55:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 2, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 04:55:02'
2026-05-30 04:55:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 3, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 04:55:03'
2026-05-30 04:55:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 36, 362000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 04:55:36'
2026-05-30 04:55:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 36, 485000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 04:55:36'
2026-05-30 04:55:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 36, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 04:55:36'
2026-05-30 04:55:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 39, 217000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 04:55:39'
2026-05-30 04:55:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 40, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 04:55:40'
2026-05-30 04:55:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 55, 728000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 04:55:55'
2026-05-30 04:55:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 55, 55, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16576, 'volume': 0.0} | asctime='2026-05-30 04:55:56'
2026-05-30 04:56:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 56, 0, 397941, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16551, 'high': 1.16576, 'low': 1.16541, 'close': 1.16576, 'volume': 11.0} | asctime='2026-05-30 04:56:00'
2026-05-30 04:56:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 56, 0, 398672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16683, 'high': 1.16683, 'low': 1.1665, 'close': 1.16666, 'volume': 11.0} | asctime='2026-05-30 04:56:00'
2026-05-30 04:56:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 56, 0, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:56:00'
2026-05-30 04:56:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 56, 3, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 04:56:03'
2026-05-30 04:56:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 56, 4, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 04:56:04'
2026-05-30 04:57:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 57, 8, 197749, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.1654, 'low': 1.16537, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 04:57:08'
2026-05-30 04:57:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 57, 8, 199101, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16695, 'low': 1.16672, 'close': 1.16695, 'volume': 3.0} | asctime='2026-05-30 04:57:08'
2026-05-30 04:57:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 57, 8, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1657, 'volume': 0.0} | asctime='2026-05-30 04:57:08'
2026-05-30 04:57:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 57, 13, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:57:13'
2026-05-30 04:57:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 57, 18, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16578, 'volume': 0.0} | asctime='2026-05-30 04:57:18'
2026-05-30 04:58:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 30, 247094, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1657, 'high': 1.16578, 'low': 1.1657, 'close': 1.16578, 'volume': 3.0} | asctime='2026-05-30 04:58:30'
2026-05-30 04:58:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 30, 249141, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.16668, 'low': 1.1666, 'close': 1.16668, 'volume': 3.0} | asctime='2026-05-30 04:58:30'
2026-05-30 04:58:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 30, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16571, 'volume': 0.0} | asctime='2026-05-30 04:58:30'
2026-05-30 04:58:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 40, 834000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 04:58:40'
2026-05-30 04:58:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 40, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 04:58:41'
2026-05-30 04:58:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 44, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 04:58:44'
2026-05-30 04:58:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 45, 427000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 04:58:45'
2026-05-30 04:58:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 46, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 04:58:46'
2026-05-30 04:58:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 46, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 04:58:46'
2026-05-30 04:58:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 46, 792000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 04:58:46'
2026-05-30 04:58:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 50, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 04:58:50'
2026-05-30 04:58:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 52, 876000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 04:58:52'
2026-05-30 04:58:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 56, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 04:58:56'
2026-05-30 04:58:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 58, 58, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16575, 'volume': 0.0} | asctime='2026-05-30 04:58:58'
2026-05-30 04:59:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 26, 246545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16571, 'high': 1.16575, 'low': 1.16545, 'close': 1.16575, 'volume': 12.0} | asctime='2026-05-30 04:59:26'
2026-05-30 04:59:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 26, 247579, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16693, 'low': 1.16661, 'close': 1.16665, 'volume': 12.0} | asctime='2026-05-30 04:59:26'
2026-05-30 04:59:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 26, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16574, 'volume': 0.0} | asctime='2026-05-30 04:59:26'
2026-05-30 04:59:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 28, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:59:28'
2026-05-30 04:59:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 52, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 04:59:52'
2026-05-30 04:59:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 53, 829000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 04:59:53'
2026-05-30 04:59:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 53, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 04:59:54'
2026-05-30 04:59:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 55, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 04:59:55'
2026-05-30 04:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 56, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16579, 'volume': 0.0} | asctime='2026-05-30 04:59:56'
2026-05-30 04:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 56, 435000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16569, 'volume': 0.0} | asctime='2026-05-30 04:59:56'
2026-05-30 04:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 4, 59, 56, 932000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 04:59:56'
2026-05-30 07:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 0, 3, 78722, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16574, 'high': 1.16579, 'low': 1.16532, 'close': 1.16532, 'volume': 9.0} | asctime='2026-05-30 07:00:03'
2026-05-30 07:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 0, 3, 79797, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16696, 'low': 1.16649, 'close': 1.16688, 'volume': 9.0} | asctime='2026-05-30 07:00:03'
2026-05-30 07:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 0, 3, 81870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16551, 'high': 1.16579, 'low': 1.16532, 'close': 1.16532, 'volume': 38.0} | asctime='2026-05-30 07:00:03'
2026-05-30 07:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 0, 3, 82940, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16683, 'high': 1.16696, 'low': 1.16649, 'close': 1.16688, 'volume': 38.0} | asctime='2026-05-30 07:00:03'
2026-05-30 07:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 0, 3, 83516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16555, 'high': 1.16582, 'low': 1.16499, 'close': 1.16532, 'volume': 123.0} | asctime='2026-05-30 07:00:03'
2026-05-30 07:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 0, 3, 85068, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16687, 'high': 1.16706, 'low': 1.16624, 'close': 1.16688, 'volume': 123.0} | asctime='2026-05-30 07:00:03'
2026-05-30 07:00:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 0, 3, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 07:00:03'
2026-05-30 07:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 0, 4, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 07:00:04'
2026-05-30 07:01:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 1, 44, 427718, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16547, 'low': 1.1654, 'close': 1.16547, 'volume': 2.0} | asctime='2026-05-30 07:01:44'
2026-05-30 07:01:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 1, 44, 428949, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16637, 'low': 1.1663, 'close': 1.16637, 'volume': 2.0} | asctime='2026-05-30 07:01:44'
2026-05-30 07:01:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 1, 44, 442000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 07:01:44'
2026-05-30 07:01:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 1, 52, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 07:01:52'
2026-05-30 07:01:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 1, 52, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 07:01:52'
2026-05-30 07:01:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 1, 54, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 07:01:54'
2026-05-30 07:01:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 1, 56, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16607, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 07:01:56'
2026-05-30 07:02:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 6, 27165, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16517, 'low': 1.16507, 'close': 1.16517, 'volume': 5.0} | asctime='2026-05-30 07:02:06'
2026-05-30 07:02:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 6, 28186, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16649, 'low': 1.16607, 'close': 1.16607, 'volume': 5.0} | asctime='2026-05-30 07:02:06'
2026-05-30 07:02:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 6, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16484, 'volume': 0.0} | asctime='2026-05-30 07:02:06'
2026-05-30 07:02:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 15, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16463, 'volume': 0.0} | asctime='2026-05-30 07:02:15'
2026-05-30 07:02:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 16, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16459, 'volume': 0.0} | asctime='2026-05-30 07:02:16'
2026-05-30 07:02:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 16, 715000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16466, 'volume': 0.0} | asctime='2026-05-30 07:02:16'
2026-05-30 07:02:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 18, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 07:02:18'
2026-05-30 07:02:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 20, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 07:02:20'
2026-05-30 07:02:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 44, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 07:02:44'
2026-05-30 07:02:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 2, 46, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 07:02:46'
2026-05-30 07:03:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 3, 38, 526568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16484, 'high': 1.16528, 'low': 1.16459, 'close': 1.16528, 'volume': 8.0} | asctime='2026-05-30 07:03:38'
2026-05-30 07:03:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 3, 38, 527891, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16667, 'low': 1.16618, 'close': 1.16618, 'volume': 8.0} | asctime='2026-05-30 07:03:38'
2026-05-30 07:03:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 3, 38, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 07:03:38'
2026-05-30 07:03:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 3, 38, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 07:03:38'
2026-05-30 07:03:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 3, 40, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 07:03:40'
2026-05-30 07:03:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 3, 42, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 07:03:42'
2026-05-30 07:03:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 3, 44, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 07:03:44'
2026-05-30 07:03:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 3, 46, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 07:03:46'
2026-05-30 07:04:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 4, 12, 275771, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16493, 'high': 1.16528, 'low': 1.16493, 'close': 1.16528, 'volume': 6.0} | asctime='2026-05-30 07:04:12'
2026-05-30 07:04:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 4, 12, 276835, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16657, 'low': 1.16618, 'close': 1.16618, 'volume': 6.0} | asctime='2026-05-30 07:04:12'
2026-05-30 07:04:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 4, 12, 288000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 07:04:12'
2026-05-30 07:04:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 4, 16, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 07:04:16'
2026-05-30 07:04:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 4, 22, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 07:04:22'
2026-05-30 07:04:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 4, 24, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 07:04:24'
2026-05-30 07:05:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 5, 36, 574593, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16532, 'low': 1.16514, 'close': 1.16532, 'volume': 4.0} | asctime='2026-05-30 07:05:36'
2026-05-30 07:05:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 5, 36, 575699, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16646, 'low': 1.16618, 'close': 1.16622, 'volume': 4.0} | asctime='2026-05-30 07:05:36'
2026-05-30 07:05:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 5, 36, 577099, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1654, 'high': 1.16547, 'low': 1.16459, 'close': 1.16532, 'volume': 25.0} | asctime='2026-05-30 07:05:36'
2026-05-30 07:05:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 5, 36, 578501, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1663, 'high': 1.16667, 'low': 1.16607, 'close': 1.16622, 'volume': 25.0} | asctime='2026-05-30 07:05:36'
2026-05-30 07:05:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 5, 36, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 07:05:36'
2026-05-30 07:06:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 6, 11, 474618, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16526, 'low': 1.16526, 'close': 1.16526, 'volume': 1.0} | asctime='2026-05-30 07:06:11'
2026-05-30 07:06:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 6, 11, 475392, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16616, 'high': 1.16616, 'low': 1.16616, 'close': 1.16616, 'volume': 1.0} | asctime='2026-05-30 07:06:11'
2026-05-30 07:06:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 6, 11, 466000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 07:06:11'
2026-05-30 07:06:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 6, 34, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 07:06:34'
2026-05-30 07:06:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 6, 35, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 07:06:35'
2026-05-30 07:06:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 6, 42, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:06:42'
2026-05-30 07:08:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 8, 0, 73726, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.1654, 'low': 1.16511, 'close': 1.16538, 'volume': 4.0} | asctime='2026-05-30 07:08:00'
2026-05-30 07:08:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 8, 0, 74986, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16643, 'low': 1.16624, 'close': 1.16628, 'volume': 4.0} | asctime='2026-05-30 07:08:00'
2026-05-30 07:08:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 8, 0, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 07:08:00'
2026-05-30 07:08:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 8, 3, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 07:08:03'
2026-05-30 07:08:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 8, 9, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 07:08:09'
2026-05-30 07:08:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 8, 10, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 07:08:10'
2026-05-30 07:08:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 8, 18, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 07:08:18'
2026-05-30 07:08:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 8, 46, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 07:08:46'
2026-05-30 07:09:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 9, 12, 323551, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16549, 'low': 1.16514, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 07:09:12'
2026-05-30 07:09:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 9, 12, 324634, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16646, 'low': 1.16624, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 07:09:12'
2026-05-30 07:09:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 9, 12, 336000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:09:12'
2026-05-30 07:09:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 9, 16, 557000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 07:09:16'
2026-05-30 07:09:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 9, 34, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 07:09:34'
2026-05-30 07:09:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 9, 38, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 07:09:38'
2026-05-30 07:09:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 9, 49, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 07:09:49'
2026-05-30 07:10:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 10, 50, 273987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16544, 'low': 1.16514, 'close': 1.16514, 'volume': 5.0} | asctime='2026-05-30 07:10:50'
2026-05-30 07:10:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 10, 50, 275046, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16649, 'low': 1.16622, 'close': 1.16646, 'volume': 5.0} | asctime='2026-05-30 07:10:50'
2026-05-30 07:10:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 10, 50, 276389, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16526, 'high': 1.16549, 'low': 1.16511, 'close': 1.16514, 'volume': 16.0} | asctime='2026-05-30 07:10:50'
2026-05-30 07:10:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 10, 50, 276939, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16616, 'high': 1.16649, 'low': 1.16616, 'close': 1.16646, 'volume': 16.0} | asctime='2026-05-30 07:10:50'
2026-05-30 07:10:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 10, 50, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 07:10:50'
2026-05-30 07:11:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 11, 18, 321815, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16511, 'low': 1.16511, 'close': 1.16511, 'volume': 1.0} | asctime='2026-05-30 07:11:18'
2026-05-30 07:11:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 11, 18, 323237, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16643, 'low': 1.16643, 'close': 1.16643, 'volume': 1.0} | asctime='2026-05-30 07:11:18'
2026-05-30 07:11:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 11, 18, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 07:11:18'
2026-05-30 07:11:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 11, 33, 234000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 07:11:33'
2026-05-30 07:11:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 11, 33, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 07:11:33'
2026-05-30 07:11:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 11, 34, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 07:11:34'
2026-05-30 07:11:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 11, 36, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 07:11:36'
2026-05-30 07:11:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 11, 38, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 07:11:38'
2026-05-30 07:12:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 12, 12, 71179, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16561, 'low': 1.16505, 'close': 1.16561, 'volume': 6.0} | asctime='2026-05-30 07:12:12'
2026-05-30 07:12:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 12, 12, 72230, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16674, 'low': 1.16631, 'close': 1.16631, 'volume': 6.0} | asctime='2026-05-30 07:12:12'
2026-05-30 07:12:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 12, 12, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 07:12:12'
2026-05-30 07:12:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 12, 16, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 07:12:16'
2026-05-30 07:12:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 12, 24, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 07:12:24'
2026-05-30 07:12:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 12, 26, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 07:12:26'
2026-05-30 07:13:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 13, 22, 128328, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16521, 'low': 1.16518, 'close': 1.16521, 'volume': 4.0} | asctime='2026-05-30 07:13:22'
2026-05-30 07:13:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 13, 22, 129875, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16676, 'low': 1.16651, 'close': 1.16653, 'volume': 4.0} | asctime='2026-05-30 07:13:22'
2026-05-30 07:13:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 13, 22, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 07:13:22'
2026-05-30 07:14:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 14, 6, 70391, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16523, 'low': 1.16523, 'close': 1.16523, 'volume': 1.0} | asctime='2026-05-30 07:14:06'
2026-05-30 07:14:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 14, 6, 71656, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16655, 'close': 1.16655, 'volume': 1.0} | asctime='2026-05-30 07:14:06'
2026-05-30 07:14:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 14, 6, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:14:06'
2026-05-30 07:14:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 14, 42, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 07:14:42'
2026-05-30 07:14:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 14, 53, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:14:53'
2026-05-30 07:14:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 14, 56, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 07:14:56'
2026-05-30 07:14:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 14, 56, 203000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 07:14:56'
2026-05-30 07:14:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 14, 58, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 07:14:58'
2026-05-30 07:15:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 11, 119748, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16506, 'close': 1.16532, 'volume': 6.0} | asctime='2026-05-30 07:15:11'
2026-05-30 07:15:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 11, 120801, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16639, 'low': 1.16622, 'close': 1.16622, 'volume': 6.0} | asctime='2026-05-30 07:15:11'
2026-05-30 07:15:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 11, 122051, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16511, 'high': 1.16561, 'low': 1.16505, 'close': 1.16532, 'volume': 18.0} | asctime='2026-05-30 07:15:11'
2026-05-30 07:15:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 11, 122887, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16643, 'high': 1.16676, 'low': 1.16622, 'close': 1.16622, 'volume': 18.0} | asctime='2026-05-30 07:15:11'
2026-05-30 07:15:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 11, 123370, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1654, 'high': 1.16561, 'low': 1.16459, 'close': 1.16532, 'volume': 59.0} | asctime='2026-05-30 07:15:11'
2026-05-30 07:15:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 11, 123773, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1663, 'high': 1.16676, 'low': 1.16607, 'close': 1.16622, 'volume': 59.0} | asctime='2026-05-30 07:15:11'
2026-05-30 07:15:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 11, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 07:15:11'
2026-05-30 07:15:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 20, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 07:15:20'
2026-05-30 07:15:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 36, 427000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 07:15:36'
2026-05-30 07:15:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 36, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 07:15:36'
2026-05-30 07:15:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 44, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 07:15:44'
2026-05-30 07:15:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 15, 48, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:15:48'
2026-05-30 07:16:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 16, 7, 718809, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16551, 'low': 1.1652, 'close': 1.16538, 'volume': 6.0} | asctime='2026-05-30 07:16:07'
2026-05-30 07:16:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 16, 7, 719641, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16658, 'low': 1.16628, 'close': 1.16628, 'volume': 6.0} | asctime='2026-05-30 07:16:07'
2026-05-30 07:16:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 16, 7, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 07:16:07'
2026-05-30 07:16:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 16, 24, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 07:16:24'
2026-05-30 07:16:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 16, 26, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 07:16:26'
2026-05-30 07:18:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 18, 22, 267408, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16556, 'low': 1.16526, 'close': 1.16556, 'volume': 3.0} | asctime='2026-05-30 07:18:22'
2026-05-30 07:18:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 18, 22, 268684, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16626, 'close': 1.16626, 'volume': 3.0} | asctime='2026-05-30 07:18:22'
2026-05-30 07:18:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 18, 22, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 07:18:22'
2026-05-30 07:18:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 18, 34, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:18:34'
2026-05-30 07:18:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 18, 52, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 07:18:52'
2026-05-30 07:19:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 19, 46, 816794, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16541, 'low': 1.16538, 'close': 1.16541, 'volume': 3.0} | asctime='2026-05-30 07:19:46'
2026-05-30 07:19:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 19, 46, 817870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16631, 'low': 1.16628, 'close': 1.16631, 'volume': 3.0} | asctime='2026-05-30 07:19:46'
2026-05-30 07:19:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 19, 46, 820000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 07:19:46'
2026-05-30 07:19:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 19, 50, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 07:19:50'
2026-05-30 07:19:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 19, 52, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 07:19:52'
2026-05-30 07:19:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 19, 59, 977000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 07:19:59'
2026-05-30 07:20:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 20, 4, 66275, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.1653, 'low': 1.16489, 'close': 1.16489, 'volume': 4.0} | asctime='2026-05-30 07:20:04'
2026-05-30 07:20:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 20, 4, 68148, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16612, 'close': 1.16645, 'volume': 4.0} | asctime='2026-05-30 07:20:04'
2026-05-30 07:20:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 20, 4, 69161, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1652, 'high': 1.16556, 'low': 1.16489, 'close': 1.16489, 'volume': 16.0} | asctime='2026-05-30 07:20:04'
2026-05-30 07:20:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 20, 4, 70024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16652, 'high': 1.16658, 'low': 1.16612, 'close': 1.16645, 'volume': 16.0} | asctime='2026-05-30 07:20:04'
2026-05-30 07:20:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 20, 4, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 07:20:04'
2026-05-30 07:20:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 20, 6, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 07:20:06'
2026-05-30 07:20:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 20, 18, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 07:20:18'
2026-05-30 07:21:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 21, 11, 965348, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16494, 'high': 1.16515, 'low': 1.16494, 'close': 1.16515, 'volume': 3.0} | asctime='2026-05-30 07:21:11'
2026-05-30 07:21:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 21, 11, 966722, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.1665, 'low': 1.16643, 'close': 1.16647, 'volume': 3.0} | asctime='2026-05-30 07:21:11'
2026-05-30 07:21:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 21, 11, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 07:21:11'
2026-05-30 07:21:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 21, 14, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 07:21:14'
2026-05-30 07:21:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 21, 22, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 07:21:22'
2026-05-30 07:21:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 21, 38, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 07:21:38'
2026-05-30 07:22:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 22, 21, 14577, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16519, 'low': 1.16498, 'close': 1.16519, 'volume': 4.0} | asctime='2026-05-30 07:22:21'
2026-05-30 07:22:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 22, 21, 15323, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16609, 'close': 1.16609, 'volume': 4.0} | asctime='2026-05-30 07:22:21'
2026-05-30 07:22:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 22, 21, 1000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 07:22:21'
2026-05-30 07:22:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 22, 28, 200000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 07:22:28'
2026-05-30 07:22:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 22, 30, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 07:22:30'
2026-05-30 07:22:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 22, 48, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 07:22:48'
2026-05-30 07:23:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 23, 26, 514967, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16525, 'low': 1.16503, 'close': 1.16525, 'volume': 4.0} | asctime='2026-05-30 07:23:26'
2026-05-30 07:23:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 23, 26, 516038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16659, 'low': 1.1664, 'close': 1.16657, 'volume': 4.0} | asctime='2026-05-30 07:23:26'
2026-05-30 07:23:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 23, 26, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 07:23:26'
2026-05-30 07:23:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 23, 28, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 07:23:28'
2026-05-30 07:24:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 24, 34, 63324, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.1654, 'low': 1.16533, 'close': 1.1654, 'volume': 2.0} | asctime='2026-05-30 07:24:34'
2026-05-30 07:24:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 24, 34, 64339, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16665, 'high': 1.16672, 'low': 1.16665, 'close': 1.16672, 'volume': 2.0} | asctime='2026-05-30 07:24:34'
2026-05-30 07:24:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 24, 34, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 07:24:34'
2026-05-30 07:25:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 17, 262927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16549, 'low': 1.16549, 'close': 1.16549, 'volume': 1.0} | asctime='2026-05-30 07:25:17'
2026-05-30 07:25:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 17, 263935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16639, 'low': 1.16639, 'close': 1.16639, 'volume': 1.0} | asctime='2026-05-30 07:25:17'
2026-05-30 07:25:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 17, 265479, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16494, 'high': 1.16549, 'low': 1.16494, 'close': 1.16549, 'volume': 14.0} | asctime='2026-05-30 07:25:17'
2026-05-30 07:25:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 17, 266629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1665, 'high': 1.16672, 'low': 1.16609, 'close': 1.16639, 'volume': 14.0} | asctime='2026-05-30 07:25:17'
2026-05-30 07:25:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 17, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 07:25:17'
2026-05-30 07:25:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 26, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 07:25:26'
2026-05-30 07:25:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 28, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 07:25:28'
2026-05-30 07:25:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 31, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 07:25:31'
2026-05-30 07:25:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 42, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 07:25:42'
2026-05-30 07:25:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 25, 52, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 07:25:52'
2026-05-30 07:26:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 26, 2, 715125, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16542, 'low': 1.16508, 'close': 1.16541, 'volume': 6.0} | asctime='2026-05-30 07:26:02'
2026-05-30 07:26:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 26, 2, 716200, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16664, 'low': 1.16631, 'close': 1.16631, 'volume': 6.0} | asctime='2026-05-30 07:26:02'
2026-05-30 07:26:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 26, 2, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 07:26:02'
2026-05-30 07:26:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 26, 3, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 07:26:03'
2026-05-30 07:26:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 26, 6, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 07:26:06'
2026-05-30 07:26:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 26, 33, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 07:26:33'
2026-05-30 07:26:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 26, 34, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 07:26:34'
2026-05-30 07:26:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 26, 38, 966000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 07:26:38'
2026-05-30 07:26:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 26, 40, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 07:26:40'
2026-05-30 07:27:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 27, 4, 11695, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16559, 'low': 1.16518, 'close': 1.16559, 'volume': 7.0} | asctime='2026-05-30 07:27:04'
2026-05-30 07:27:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 27, 4, 12823, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16664, 'low': 1.16649, 'close': 1.16649, 'volume': 7.0} | asctime='2026-05-30 07:27:04'
2026-05-30 07:27:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 27, 4, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 07:27:04'
2026-05-30 07:27:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 27, 6, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 07:27:06'
2026-05-30 07:27:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 27, 8, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 07:27:08'
2026-05-30 07:27:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 27, 12, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 07:27:12'
2026-05-30 07:27:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 27, 22, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:27:22'
2026-05-30 07:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 27, 28, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 07:27:28'
2026-05-30 07:28:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 28, 27, 960780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16541, 'low': 1.16494, 'close': 1.16541, 'volume': 6.0} | asctime='2026-05-30 07:28:27'
2026-05-30 07:28:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 28, 27, 961926, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.16675, 'low': 1.16628, 'close': 1.16631, 'volume': 6.0} | asctime='2026-05-30 07:28:27'
2026-05-30 07:28:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 28, 27, 961000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 07:28:27'
2026-05-30 07:28:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 28, 28, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 07:28:28'
2026-05-30 07:28:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 28, 34, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 07:28:34'
2026-05-30 07:29:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 29, 50, 260545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16536, 'low': 1.16529, 'close': 1.16529, 'volume': 3.0} | asctime='2026-05-30 07:29:50'
2026-05-30 07:29:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 29, 50, 261247, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16626, 'low': 1.16619, 'close': 1.16619, 'volume': 3.0} | asctime='2026-05-30 07:29:50'
2026-05-30 07:29:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 29, 50, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 07:29:50'
2026-05-30 07:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 30, 1, 410700, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16535, 'low': 1.16535, 'close': 1.16535, 'volume': 1.0} | asctime='2026-05-30 07:30:01'
2026-05-30 07:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 30, 1, 411556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16625, 'low': 1.16625, 'close': 1.16625, 'volume': 1.0} | asctime='2026-05-30 07:30:01'
2026-05-30 07:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 30, 1, 412748, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16542, 'high': 1.16559, 'low': 1.16494, 'close': 1.16535, 'volume': 23.0} | asctime='2026-05-30 07:30:01'
2026-05-30 07:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 30, 1, 413909, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16632, 'high': 1.16675, 'low': 1.16619, 'close': 1.16625, 'volume': 23.0} | asctime='2026-05-30 07:30:01'
2026-05-30 07:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 30, 1, 415473, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1652, 'high': 1.16559, 'low': 1.16489, 'close': 1.16535, 'volume': 53.0} | asctime='2026-05-30 07:30:01'
2026-05-30 07:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 30, 1, 416025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16652, 'high': 1.16675, 'low': 1.16609, 'close': 1.16625, 'volume': 53.0} | asctime='2026-05-30 07:30:01'
2026-05-30 07:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 30, 1, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 07:30:01'
2026-05-30 07:30:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 30, 4, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 07:30:04'
2026-05-30 07:32:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 32, 20, 108868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16525, 'low': 1.1651, 'close': 1.16525, 'volume': 2.0} | asctime='2026-05-30 07:32:20'
2026-05-30 07:32:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 32, 20, 109728, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16615, 'close': 1.16615, 'volume': 2.0} | asctime='2026-05-30 07:32:20'
2026-05-30 07:32:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 32, 20, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 07:32:20'
2026-05-30 07:32:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 32, 31, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 07:32:31'
2026-05-30 07:32:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 32, 32, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 07:32:32'
2026-05-30 07:32:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 32, 42, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 07:32:42'
2026-05-30 07:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 33, 0, 809141, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16536, 'low': 1.16502, 'close': 1.16536, 'volume': 4.0} | asctime='2026-05-30 07:33:00'
2026-05-30 07:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 33, 0, 809956, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16643, 'low': 1.16626, 'close': 1.16626, 'volume': 4.0} | asctime='2026-05-30 07:33:00'
2026-05-30 07:33:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 33, 0, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 07:33:00'
2026-05-30 07:33:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 33, 1, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 07:33:01'
2026-05-30 07:33:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 33, 9, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 07:33:09'
2026-05-30 07:33:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 33, 11, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 07:33:11'
2026-05-30 07:34:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 34, 51, 57693, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16539, 'low': 1.16503, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 07:34:51'
2026-05-30 07:34:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 34, 51, 58621, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16629, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 07:34:51'
2026-05-30 07:34:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 34, 51, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 07:34:51'
2026-05-30 07:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 0, 475749, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16535, 'low': 1.16535, 'close': 1.16535, 'volume': 1.0} | asctime='2026-05-30 07:35:00'
2026-05-30 07:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 0, 476565, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16625, 'low': 1.16625, 'close': 1.16625, 'volume': 1.0} | asctime='2026-05-30 07:35:00'
2026-05-30 07:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 0, 477621, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1651, 'high': 1.16539, 'low': 1.16502, 'close': 1.16535, 'volume': 11.0} | asctime='2026-05-30 07:35:00'
2026-05-30 07:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 0, 478086, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16642, 'high': 1.16661, 'low': 1.16615, 'close': 1.16625, 'volume': 11.0} | asctime='2026-05-30 07:35:00'
2026-05-30 07:35:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 0, 493000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 07:35:00'
2026-05-30 07:35:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 0, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 07:35:00'
2026-05-30 07:35:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 4, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 07:35:04'
2026-05-30 07:35:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 38, 233000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 07:35:38'
2026-05-30 07:35:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 38, 355000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 07:35:38'
2026-05-30 07:35:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 40, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 07:35:40'
2026-05-30 07:35:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 44, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 07:35:44'
2026-05-30 07:35:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 35, 48, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:35:48'
2026-05-30 07:36:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 8, 857335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16492, 'high': 1.16539, 'low': 1.16492, 'close': 1.16538, 'volume': 8.0} | asctime='2026-05-30 07:36:08'
2026-05-30 07:36:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 8, 858187, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16662, 'low': 1.16628, 'close': 1.16628, 'volume': 8.0} | asctime='2026-05-30 07:36:08'
2026-05-30 07:36:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 8, 895000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 07:36:08'
2026-05-30 07:36:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 9, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 07:36:09'
2026-05-30 07:36:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 10, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 07:36:10'
2026-05-30 07:36:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 12, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 07:36:12'
2026-05-30 07:36:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 13, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 07:36:13'
2026-05-30 07:36:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 16, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 07:36:16'
2026-05-30 07:36:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 18, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 07:36:18'
2026-05-30 07:36:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 24, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 07:36:24'
2026-05-30 07:36:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 26, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 07:36:26'
2026-05-30 07:36:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 28, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 07:36:28'
2026-05-30 07:36:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 28, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 07:36:28'
2026-05-30 07:36:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 32, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 07:36:32'
2026-05-30 07:36:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 34, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 07:36:34'
2026-05-30 07:36:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 36, 56, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:36:56'
2026-05-30 07:37:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 37, 29, 306078, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16538, 'low': 1.16494, 'close': 1.16538, 'volume': 14.0} | asctime='2026-05-30 07:37:29'
2026-05-30 07:37:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 37, 29, 306887, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.1666, 'low': 1.16622, 'close': 1.16628, 'volume': 14.0} | asctime='2026-05-30 07:37:29'
2026-05-30 07:37:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 37, 29, 337000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 07:37:29'
2026-05-30 07:37:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 37, 40, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 07:37:40'
2026-05-30 07:37:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 37, 50, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 07:37:50'
2026-05-30 07:38:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 38, 1, 205376, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.16521, 'low': 1.16497, 'close': 1.16521, 'volume': 3.0} | asctime='2026-05-30 07:38:01'
2026-05-30 07:38:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 38, 1, 206056, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16653, 'low': 1.1665, 'close': 1.16653, 'volume': 3.0} | asctime='2026-05-30 07:38:01'
2026-05-30 07:38:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 38, 1, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 07:38:01'
2026-05-30 07:38:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 38, 1, 737000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 07:38:01'
2026-05-30 07:38:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 38, 1, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 07:38:01'
2026-05-30 07:38:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 38, 3, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:38:03'
2026-05-30 07:38:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 38, 37, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 07:38:37'
2026-05-30 07:38:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 38, 48, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 07:38:48'
2026-05-30 07:38:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 38, 50, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 07:38:50'
2026-05-30 07:40:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 40, 33, 68302, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16538, 'low': 1.16508, 'close': 1.16525, 'volume': 7.0} | asctime='2026-05-30 07:40:33'
2026-05-30 07:40:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 40, 33, 69080, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16664, 'low': 1.16615, 'close': 1.16615, 'volume': 7.0} | asctime='2026-05-30 07:40:33'
2026-05-30 07:40:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 40, 33, 70153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16492, 'high': 1.16539, 'low': 1.16492, 'close': 1.16525, 'volume': 32.0} | asctime='2026-05-30 07:40:33'
2026-05-30 07:40:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 40, 33, 70790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16648, 'high': 1.16664, 'low': 1.16615, 'close': 1.16615, 'volume': 32.0} | asctime='2026-05-30 07:40:33'
2026-05-30 07:40:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 40, 33, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 07:40:33'
2026-05-30 07:40:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 40, 34, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 07:40:34'
2026-05-30 07:40:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 40, 40, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 07:40:40'
2026-05-30 07:40:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 40, 54, 44000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 07:40:54'
2026-05-30 07:40:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 40, 56, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 07:40:56'
2026-05-30 07:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 41, 2, 603671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16539, 'low': 1.16502, 'close': 1.16502, 'volume': 5.0} | asctime='2026-05-30 07:41:02'
2026-05-30 07:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 41, 2, 604356, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.1666, 'low': 1.16629, 'close': 1.16658, 'volume': 5.0} | asctime='2026-05-30 07:41:02'
2026-05-30 07:41:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 41, 2, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 07:41:02'
2026-05-30 07:41:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 41, 4, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 07:41:04'
2026-05-30 07:41:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 41, 18, 996000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 07:41:18'
2026-05-30 07:41:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 41, 30, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 07:41:30'
2026-05-30 07:41:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 41, 32, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 07:41:32'
2026-05-30 07:43:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 43, 28, 101987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16531, 'low': 1.16493, 'close': 1.1651, 'volume': 5.0} | asctime='2026-05-30 07:43:28'
2026-05-30 07:43:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 43, 28, 104079, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16673, 'low': 1.16661, 'close': 1.16666, 'volume': 5.0} | asctime='2026-05-30 07:43:28'
2026-05-30 07:43:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 43, 28, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 07:43:28'
2026-05-30 07:43:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 43, 30, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 07:43:30'
2026-05-30 07:43:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 43, 50, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 07:43:50'
2026-05-30 07:43:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 43, 52, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:43:52'
2026-05-30 07:43:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 43, 56, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 07:43:56'
2026-05-30 07:43:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 43, 58, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 07:43:58'
2026-05-30 07:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 6, 51554, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16542, 'low': 1.16516, 'close': 1.16542, 'volume': 6.0} | asctime='2026-05-30 07:45:06'
2026-05-30 07:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 6, 53350, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16672, 'low': 1.16628, 'close': 1.16632, 'volume': 6.0} | asctime='2026-05-30 07:45:06'
2026-05-30 07:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 6, 54444, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16513, 'high': 1.16542, 'low': 1.16493, 'close': 1.16542, 'volume': 16.0} | asctime='2026-05-30 07:45:06'
2026-05-30 07:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 6, 55364, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16645, 'high': 1.16673, 'low': 1.16628, 'close': 1.16632, 'volume': 16.0} | asctime='2026-05-30 07:45:06'
2026-05-30 07:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 6, 56258, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1651, 'high': 1.16542, 'low': 1.16492, 'close': 1.16542, 'volume': 59.0} | asctime='2026-05-30 07:45:06'
2026-05-30 07:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 6, 57073, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16642, 'high': 1.16673, 'low': 1.16615, 'close': 1.16632, 'volume': 59.0} | asctime='2026-05-30 07:45:06'
2026-05-30 07:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 6, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 07:45:06'
2026-05-30 07:45:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 8, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 07:45:08'
2026-05-30 07:45:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 10, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 07:45:10'
2026-05-30 07:45:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 13, 372000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 07:45:13'
2026-05-30 07:45:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 20, 820000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 07:45:20'
2026-05-30 07:45:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 20, 943000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 07:45:20'
2026-05-30 07:45:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 22, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 07:45:22'
2026-05-30 07:45:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 24, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 07:45:24'
2026-05-30 07:45:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 45, 57, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 07:45:57'
2026-05-30 07:46:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 46, 22, 100341, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.1655, 'low': 1.16509, 'close': 1.16543, 'volume': 9.0} | asctime='2026-05-30 07:46:22'
2026-05-30 07:46:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 46, 22, 101451, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16655, 'low': 1.16612, 'close': 1.16633, 'volume': 9.0} | asctime='2026-05-30 07:46:22'
2026-05-30 07:46:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 46, 22, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:46:22'
2026-05-30 07:47:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 47, 56, 100287, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16538, 'close': 1.16538, 'volume': 1.0} | asctime='2026-05-30 07:47:56'
2026-05-30 07:47:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 47, 56, 101029, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16628, 'close': 1.16628, 'volume': 1.0} | asctime='2026-05-30 07:47:56'
2026-05-30 07:47:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 47, 56, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 07:47:56'
2026-05-30 07:47:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 47, 58, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 07:47:58'
2026-05-30 07:48:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 48, 14, 699080, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16537, 'low': 1.16535, 'close': 1.16535, 'volume': 2.0} | asctime='2026-05-30 07:48:14'
2026-05-30 07:48:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 48, 14, 699985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16627, 'low': 1.16625, 'close': 1.16625, 'volume': 2.0} | asctime='2026-05-30 07:48:14'
2026-05-30 07:48:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 48, 14, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 07:48:14'
2026-05-30 07:48:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 48, 24, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 07:48:24'
2026-05-30 07:48:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 48, 27, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 07:48:27'
2026-05-30 07:48:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 48, 56, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 07:48:56'
2026-05-30 07:48:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 48, 58, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:48:58'
2026-05-30 07:49:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 49, 19, 148859, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16561, 'low': 1.16527, 'close': 1.16538, 'volume': 5.0} | asctime='2026-05-30 07:49:19'
2026-05-30 07:49:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 49, 19, 149589, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.1666, 'low': 1.16628, 'close': 1.16628, 'volume': 5.0} | asctime='2026-05-30 07:49:19'
2026-05-30 07:49:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 49, 19, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 07:49:19'
2026-05-30 07:49:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 49, 28, 480000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 07:49:28'
2026-05-30 07:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 49, 30, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 07:49:30'
2026-05-30 07:49:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 49, 32, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 07:49:32'
2026-05-30 07:51:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 26, 147618, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16512, 'high': 1.16542, 'low': 1.16505, 'close': 1.16542, 'volume': 4.0} | asctime='2026-05-30 07:51:26'
2026-05-30 07:51:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 26, 148607, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16668, 'high': 1.16668, 'low': 1.16632, 'close': 1.16632, 'volume': 4.0} | asctime='2026-05-30 07:51:26'
2026-05-30 07:51:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 26, 149394, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16511, 'high': 1.16561, 'low': 1.16505, 'close': 1.16542, 'volume': 21.0} | asctime='2026-05-30 07:51:26'
2026-05-30 07:51:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 26, 150027, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16643, 'high': 1.16668, 'low': 1.16612, 'close': 1.16632, 'volume': 21.0} | asctime='2026-05-30 07:51:26'
2026-05-30 07:51:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 26, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 07:51:26'
2026-05-30 07:51:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 30, 262000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 07:51:30'
2026-05-30 07:51:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 34, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 07:51:34'
2026-05-30 07:51:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 36, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 07:51:36'
2026-05-30 07:51:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 38, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 07:51:38'
2026-05-30 07:51:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 42, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 07:51:42'
2026-05-30 07:51:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 51, 52, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:51:52'
2026-05-30 07:53:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 53, 16, 846550, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16538, 'low': 1.16501, 'close': 1.16538, 'volume': 7.0} | asctime='2026-05-30 07:53:16'
2026-05-30 07:53:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 53, 16, 847536, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.1667, 'low': 1.16624, 'close': 1.16628, 'volume': 7.0} | asctime='2026-05-30 07:53:16'
2026-05-30 07:53:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 53, 16, 897000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 07:53:16'
2026-05-30 07:53:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 53, 28, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 07:53:28'
2026-05-30 07:53:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 53, 38, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 07:53:38'
2026-05-30 07:53:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 53, 46, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 07:53:46'
2026-05-30 07:53:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 53, 48, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 07:53:48'
2026-05-30 07:53:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 53, 48, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 07:53:48'
2026-05-30 07:53:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 53, 50, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:53:50'
2026-05-30 07:54:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 54, 50, 745212, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16559, 'low': 1.16514, 'close': 1.16538, 'volume': 7.0} | asctime='2026-05-30 07:54:50'
2026-05-30 07:54:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 54, 50, 746058, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.16673, 'low': 1.16628, 'close': 1.16628, 'volume': 7.0} | asctime='2026-05-30 07:54:50'
2026-05-30 07:54:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 54, 50, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 07:54:50'
2026-05-30 07:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 54, 55, 340000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 07:54:55'
2026-05-30 07:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 54, 58, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 07:54:58'
2026-05-30 07:55:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 12, 794477, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.1654, 'low': 1.16517, 'close': 1.1654, 'volume': 3.0} | asctime='2026-05-30 07:55:12'
2026-05-30 07:55:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 12, 795544, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.1663, 'close': 1.1663, 'volume': 3.0} | asctime='2026-05-30 07:55:12'
2026-05-30 07:55:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 12, 797366, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16534, 'high': 1.16559, 'low': 1.16501, 'close': 1.1654, 'volume': 17.0} | asctime='2026-05-30 07:55:12'
2026-05-30 07:55:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 12, 799069, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16624, 'high': 1.16673, 'low': 1.16624, 'close': 1.1663, 'volume': 17.0} | asctime='2026-05-30 07:55:12'
2026-05-30 07:55:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 12, 844000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 07:55:12'
2026-05-30 07:55:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 14, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 07:55:14'
2026-05-30 07:55:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 15, 947000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 07:55:15'
2026-05-30 07:55:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 20, 789000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 07:55:20'
2026-05-30 07:55:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 26, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 07:55:26'
2026-05-30 07:55:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 27, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 07:55:27'
2026-05-30 07:55:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 28, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 07:55:28'
2026-05-30 07:55:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 55, 56, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 07:55:56'
2026-05-30 07:56:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 56, 4, 93991, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.165, 'high': 1.16544, 'low': 1.16494, 'close': 1.16541, 'volume': 8.0} | asctime='2026-05-30 07:56:04'
2026-05-30 07:56:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 56, 4, 94994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16614, 'close': 1.16631, 'volume': 8.0} | asctime='2026-05-30 07:56:04'
2026-05-30 07:56:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 56, 4, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 07:56:04'
2026-05-30 07:56:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 56, 7, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 07:56:07'
2026-05-30 07:56:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 56, 8, 210000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 07:56:08'
2026-05-30 07:56:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 56, 10, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 07:56:10'
2026-05-30 07:56:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 56, 11, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 07:56:11'
2026-05-30 07:58:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 58, 38, 644200, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16556, 'high': 1.16556, 'low': 1.16509, 'close': 1.16537, 'volume': 5.0} | asctime='2026-05-30 07:58:38'
2026-05-30 07:58:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 58, 38, 645442, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16677, 'low': 1.16626, 'close': 1.16627, 'volume': 5.0} | asctime='2026-05-30 07:58:38'
2026-05-30 07:58:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 58, 38, 670000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 07:58:38'
2026-05-30 07:58:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 58, 46, 614000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 07:58:46'
2026-05-30 07:58:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 7, 58, 47, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 07:58:47'
2026-05-30 08:01:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 6, 991267, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16542, 'low': 1.16538, 'close': 1.16542, 'volume': 3.0} | asctime='2026-05-30 08:01:06'
2026-05-30 08:01:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 6, 992457, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16632, 'low': 1.16628, 'close': 1.16632, 'volume': 3.0} | asctime='2026-05-30 08:01:06'
2026-05-30 08:01:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 6, 993654, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.165, 'high': 1.16556, 'low': 1.16494, 'close': 1.16542, 'volume': 16.0} | asctime='2026-05-30 08:01:06'
2026-05-30 08:01:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 6, 994646, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16656, 'high': 1.16677, 'low': 1.16614, 'close': 1.16632, 'volume': 16.0} | asctime='2026-05-30 08:01:06'
2026-05-30 08:01:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 6, 995146, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16511, 'high': 1.16561, 'low': 1.16494, 'close': 1.16542, 'volume': 54.0} | asctime='2026-05-30 08:01:06'
2026-05-30 08:01:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 6, 995580, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16643, 'high': 1.16677, 'low': 1.16612, 'close': 1.16632, 'volume': 54.0} | asctime='2026-05-30 08:01:06'
2026-05-30 08:01:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 7, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 08:01:06'
2026-05-30 08:01:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 13, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:01:13'
2026-05-30 08:01:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 15, 208000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 08:01:15'
2026-05-30 08:01:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 1, 17, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 08:01:17'
2026-05-30 08:02:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 2, 7, 190524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16507, 'close': 1.16527, 'volume': 4.0} | asctime='2026-05-30 08:02:07'
2026-05-30 08:02:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 2, 7, 192307, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16639, 'low': 1.16617, 'close': 1.16617, 'volume': 4.0} | asctime='2026-05-30 08:02:07'
2026-05-30 08:02:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 2, 7, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 08:02:07'
2026-05-30 08:02:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 2, 17, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 08:02:17'
2026-05-30 08:02:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 2, 45, 830000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 08:02:45'
2026-05-30 08:02:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 2, 47, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 08:02:47'
2026-05-30 08:02:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 2, 48, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 08:02:48'
2026-05-30 08:03:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 3, 3, 40152, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16556, 'low': 1.16523, 'close': 1.16523, 'volume': 5.0} | asctime='2026-05-30 08:03:03'
2026-05-30 08:03:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 3, 3, 41177, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16659, 'low': 1.16623, 'close': 1.16655, 'volume': 5.0} | asctime='2026-05-30 08:03:03'
2026-05-30 08:03:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 3, 3, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:03:03'
2026-05-30 08:03:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 3, 25, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 08:03:25'
2026-05-30 08:03:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 3, 35, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 08:03:35'
2026-05-30 08:03:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 3, 43, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:03:43'
2026-05-30 08:03:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 3, 44, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 08:03:44'
2026-05-30 08:03:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 3, 45, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:03:45'
2026-05-30 08:04:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 4, 52, 188713, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16519, 'close': 1.16538, 'volume': 6.0} | asctime='2026-05-30 08:04:52'
2026-05-30 08:04:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 4, 52, 189597, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16651, 'low': 1.16614, 'close': 1.16628, 'volume': 6.0} | asctime='2026-05-30 08:04:52'
2026-05-30 08:04:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 4, 52, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 08:04:52'
2026-05-30 08:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 5, 2, 739388, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16515, 'low': 1.16515, 'close': 1.16515, 'volume': 1.0} | asctime='2026-05-30 08:05:02'
2026-05-30 08:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 5, 2, 740421, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16671, 'high': 1.16671, 'low': 1.16671, 'close': 1.16671, 'volume': 1.0} | asctime='2026-05-30 08:05:02'
2026-05-30 08:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 5, 2, 741503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16556, 'low': 1.16507, 'close': 1.16515, 'volume': 16.0} | asctime='2026-05-30 08:05:02'
2026-05-30 08:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 5, 2, 742067, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16671, 'low': 1.16614, 'close': 1.16671, 'volume': 16.0} | asctime='2026-05-30 08:05:02'
2026-05-30 08:05:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 5, 2, 757000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 08:05:02'
2026-05-30 08:05:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 5, 3, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 08:05:03'
2026-05-30 08:06:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 6, 15, 488036, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16528, 'low': 1.16513, 'close': 1.16513, 'volume': 2.0} | asctime='2026-05-30 08:06:15'
2026-05-30 08:06:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 6, 15, 489190, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.16669, 'low': 1.1666, 'close': 1.16669, 'volume': 2.0} | asctime='2026-05-30 08:06:15'
2026-05-30 08:06:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 6, 15, 504000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 08:06:15'
2026-05-30 08:06:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 6, 43, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 08:06:43'
2026-05-30 08:06:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 6, 45, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 08:06:45'
2026-05-30 08:06:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 6, 55, 351000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 08:06:55'
2026-05-30 08:07:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 2, 638126, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16492, 'high': 1.1651, 'low': 1.1649, 'close': 1.1649, 'volume': 4.0} | asctime='2026-05-30 08:07:02'
2026-05-30 08:07:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 2, 639029, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16672, 'low': 1.16642, 'close': 1.16646, 'volume': 4.0} | asctime='2026-05-30 08:07:02'
2026-05-30 08:07:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 2, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 08:07:02'
2026-05-30 08:07:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 3, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 08:07:02'
2026-05-30 08:07:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 5, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 08:07:05'
2026-05-30 08:07:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 17, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:07:17'
2026-05-30 08:07:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 32, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 08:07:32'
2026-05-30 08:07:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 42, 29000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 08:07:41'
2026-05-30 08:07:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 43, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 08:07:43'
2026-05-30 08:07:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 48, 979000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 08:07:48'
2026-05-30 08:07:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 7, 51, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 08:07:51'
2026-05-30 08:08:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 8, 20, 586544, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16481, 'high': 1.16538, 'low': 1.16481, 'close': 1.16534, 'volume': 9.0} | asctime='2026-05-30 08:08:20'
2026-05-30 08:08:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 8, 20, 587649, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16667, 'low': 1.16624, 'close': 1.16624, 'volume': 9.0} | asctime='2026-05-30 08:08:20'
2026-05-30 08:08:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 8, 20, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 08:08:20'
2026-05-30 08:08:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 8, 24, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 08:08:24'
2026-05-30 08:08:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 8, 31, 187000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 08:08:31'
2026-05-30 08:08:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 8, 33, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 08:08:33'
2026-05-30 08:08:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 8, 35, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 08:08:35'
2026-05-30 08:08:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 8, 43, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 08:08:43'
2026-05-30 08:08:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 8, 47, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 08:08:47'
2026-05-30 08:09:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 9, 48, 886449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16534, 'low': 1.1649, 'close': 1.16528, 'volume': 7.0} | asctime='2026-05-30 08:09:48'
2026-05-30 08:09:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 9, 48, 887324, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16658, 'low': 1.16618, 'close': 1.16618, 'volume': 7.0} | asctime='2026-05-30 08:09:48'
2026-05-30 08:09:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 9, 48, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 08:09:48'
2026-05-30 08:09:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 9, 55, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 08:09:55'
2026-05-30 08:09:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 9, 55, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 08:09:55'
2026-05-30 08:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 10, 2, 385830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16541, 'low': 1.16508, 'close': 1.16508, 'volume': 3.0} | asctime='2026-05-30 08:10:02'
2026-05-30 08:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 10, 2, 386827, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.1664, 'low': 1.16624, 'close': 1.1664, 'volume': 3.0} | asctime='2026-05-30 08:10:02'
2026-05-30 08:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 10, 2, 388251, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16528, 'high': 1.16541, 'low': 1.16481, 'close': 1.16508, 'volume': 25.0} | asctime='2026-05-30 08:10:02'
2026-05-30 08:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 10, 2, 388798, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1666, 'high': 1.16672, 'low': 1.16618, 'close': 1.1664, 'volume': 25.0} | asctime='2026-05-30 08:10:02'
2026-05-30 08:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 10, 2, 431000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 08:10:02'
2026-05-30 08:10:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 10, 3, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 08:10:03'
2026-05-30 08:11:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 11, 37, 135307, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16533, 'low': 1.1651, 'close': 1.16533, 'volume': 2.0} | asctime='2026-05-30 08:11:37'
2026-05-30 08:11:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 11, 37, 135987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16623, 'close': 1.16623, 'volume': 2.0} | asctime='2026-05-30 08:11:37'
2026-05-30 08:11:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 11, 37, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 08:11:37'
2026-05-30 08:11:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 11, 39, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 08:11:39'
2026-05-30 08:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 12, 2, 184560, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.1653, 'low': 1.16526, 'close': 1.16526, 'volume': 2.0} | asctime='2026-05-30 08:12:02'
2026-05-30 08:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 12, 2, 185605, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1662, 'high': 1.1662, 'low': 1.16616, 'close': 1.16616, 'volume': 2.0} | asctime='2026-05-30 08:12:02'
2026-05-30 08:12:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 12, 2, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 08:12:02'
2026-05-30 08:12:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 12, 3, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 08:12:03'
2026-05-30 08:12:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 12, 5, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:12:05'
2026-05-30 08:12:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 12, 9, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 08:12:09'
2026-05-30 08:12:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 12, 18, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 08:12:18'
2026-05-30 08:12:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 12, 19, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 08:12:19'
2026-05-30 08:14:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 23, 83166, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16489, 'high': 1.16544, 'low': 1.16489, 'close': 1.16515, 'volume': 6.0} | asctime='2026-05-30 08:14:23'
2026-05-30 08:14:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 23, 84191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16657, 'low': 1.16614, 'close': 1.16647, 'volume': 6.0} | asctime='2026-05-30 08:14:23'
2026-05-30 08:14:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 23, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 08:14:23'
2026-05-30 08:14:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 32, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 08:14:32'
2026-05-30 08:14:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 33, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 08:14:33'
2026-05-30 08:14:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 34, 296000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:14:34'
2026-05-30 08:14:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 43, 979000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 08:14:43'
2026-05-30 08:14:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 44, 351000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 08:14:44'
2026-05-30 08:14:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 55, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 08:14:55'
2026-05-30 08:14:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 57, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 08:14:57'
2026-05-30 08:14:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 14, 59, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 08:14:59'
2026-05-30 08:15:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 14, 83360, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16549, 'low': 1.16512, 'close': 1.16549, 'volume': 9.0} | asctime='2026-05-30 08:15:14'
2026-05-30 08:15:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 14, 84518, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16668, 'low': 1.16626, 'close': 1.16639, 'volume': 9.0} | asctime='2026-05-30 08:15:14'
2026-05-30 08:15:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 14, 86037, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1651, 'high': 1.16549, 'low': 1.16489, 'close': 1.16549, 'volume': 19.0} | asctime='2026-05-30 08:15:14'
2026-05-30 08:15:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 14, 86815, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16642, 'high': 1.16668, 'low': 1.16614, 'close': 1.16639, 'volume': 19.0} | asctime='2026-05-30 08:15:14'
2026-05-30 08:15:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 14, 87519, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16539, 'high': 1.16556, 'low': 1.16481, 'close': 1.16549, 'volume': 60.0} | asctime='2026-05-30 08:15:14'
2026-05-30 08:15:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 14, 88264, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16629, 'high': 1.16672, 'low': 1.16614, 'close': 1.16639, 'volume': 60.0} | asctime='2026-05-30 08:15:14'
2026-05-30 08:15:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 14, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 08:15:14'
2026-05-30 08:15:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 15, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 08:15:15'
2026-05-30 08:15:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 17, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 08:15:17'
2026-05-30 08:15:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 15, 19, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16613, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 08:15:19'
2026-05-30 08:17:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 17, 17, 130965, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16523, 'low': 1.16514, 'close': 1.16523, 'volume': 4.0} | asctime='2026-05-30 08:17:17'
2026-05-30 08:17:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 17, 17, 132191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.1665, 'low': 1.16613, 'close': 1.16613, 'volume': 4.0} | asctime='2026-05-30 08:17:17'
2026-05-30 08:17:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 17, 17, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1661, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 08:17:17'
2026-05-30 08:17:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 17, 25, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 08:17:25'
2026-05-30 08:17:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 17, 25, 369000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 08:17:25'
2026-05-30 08:17:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 17, 29, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:17:29'
2026-05-30 08:17:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 17, 31, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 08:17:31'
2026-05-30 08:17:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 17, 36, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:17:36'
2026-05-30 08:18:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 18, 35, 81105, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16544, 'low': 1.16502, 'close': 1.16538, 'volume': 6.0} | asctime='2026-05-30 08:18:35'
2026-05-30 08:18:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 18, 35, 82091, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1661, 'high': 1.16658, 'low': 1.1661, 'close': 1.16628, 'volume': 6.0} | asctime='2026-05-30 08:18:35'
2026-05-30 08:18:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 18, 35, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 08:18:35'
2026-05-30 08:18:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 18, 42, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 08:18:42'
2026-05-30 08:18:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 18, 43, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 08:18:43'
2026-05-30 08:18:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 18, 50, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 08:18:50'
2026-05-30 08:18:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 18, 51, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 08:18:51'
2026-05-30 08:18:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 18, 53, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 08:18:53'
2026-05-30 08:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 20, 6, 579697, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16554, 'low': 1.16502, 'close': 1.16536, 'volume': 6.0} | asctime='2026-05-30 08:20:06'
2026-05-30 08:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 20, 6, 581075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16659, 'low': 1.16626, 'close': 1.16626, 'volume': 6.0} | asctime='2026-05-30 08:20:06'
2026-05-30 08:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 20, 6, 582471, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16518, 'high': 1.16554, 'low': 1.16502, 'close': 1.16536, 'volume': 16.0} | asctime='2026-05-30 08:20:06'
2026-05-30 08:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 20, 6, 583074, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1665, 'high': 1.16659, 'low': 1.1661, 'close': 1.16626, 'volume': 16.0} | asctime='2026-05-30 08:20:06'
2026-05-30 08:20:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 20, 6, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 08:20:06'
2026-05-30 08:21:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 21, 11, 129314, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 08:21:11'
2026-05-30 08:21:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 21, 11, 130290, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 08:21:11'
2026-05-30 08:21:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 21, 11, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:21:11'
2026-05-30 08:21:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 21, 12, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 08:21:12'
2026-05-30 08:21:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 21, 13, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 08:21:13'
2026-05-30 08:22:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 22, 8, 828860, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16547, 'low': 1.16544, 'close': 1.16547, 'volume': 3.0} | asctime='2026-05-30 08:22:08'
2026-05-30 08:22:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 22, 8, 829605, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16637, 'low': 1.16634, 'close': 1.16637, 'volume': 3.0} | asctime='2026-05-30 08:22:08'
2026-05-30 08:22:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 22, 8, 898000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 08:22:08'
2026-05-30 08:22:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 22, 11, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 08:22:11'
2026-05-30 08:22:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 22, 18, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 08:22:18'
2026-05-30 08:22:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 22, 18, 580000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 08:22:18'
2026-05-30 08:22:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 22, 19, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 08:22:19'
2026-05-30 08:23:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 23, 45, 427282, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16537, 'low': 1.16529, 'close': 1.16537, 'volume': 5.0} | asctime='2026-05-30 08:23:45'
2026-05-30 08:23:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 23, 45, 428465, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16669, 'low': 1.16661, 'close': 1.16669, 'volume': 5.0} | asctime='2026-05-30 08:23:45'
2026-05-30 08:23:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 23, 45, 480000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 08:23:45'
2026-05-30 08:23:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 23, 47, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 08:23:47'
2026-05-30 08:24:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 24, 24, 677516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16539, 'low': 1.16531, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 08:24:24'
2026-05-30 08:24:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 24, 24, 678669, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16629, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 08:24:24'
2026-05-30 08:24:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 24, 24, 708000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:24:24'
2026-05-30 08:24:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 24, 25, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 08:24:25'
2026-05-30 08:24:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 24, 26, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 08:24:26'
2026-05-30 08:24:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 24, 26, 195000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 08:24:26'
2026-05-30 08:24:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 24, 31, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 08:24:31'
2026-05-30 08:24:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 24, 33, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 08:24:33'
2026-05-30 08:26:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 26, 55, 125467, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16547, 'low': 1.16511, 'close': 1.16541, 'volume': 6.0} | asctime='2026-05-30 08:26:55'
2026-05-30 08:26:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 26, 55, 126171, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16667, 'low': 1.1663, 'close': 1.16631, 'volume': 6.0} | asctime='2026-05-30 08:26:55'
2026-05-30 08:26:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 26, 55, 126696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16547, 'low': 1.16511, 'close': 1.16541, 'volume': 17.0} | asctime='2026-05-30 08:26:55'
2026-05-30 08:26:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 26, 55, 128525, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16669, 'low': 1.16629, 'close': 1.16631, 'volume': 17.0} | asctime='2026-05-30 08:26:55'
2026-05-30 08:26:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 26, 55, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 08:26:55'
2026-05-30 08:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 27, 0, 75831, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16494, 'high': 1.16494, 'low': 1.16494, 'close': 1.16494, 'volume': 1.0} | asctime='2026-05-30 08:27:00'
2026-05-30 08:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 27, 0, 77427, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.1665, 'low': 1.1665, 'close': 1.1665, 'volume': 1.0} | asctime='2026-05-30 08:27:00'
2026-05-30 08:27:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 27, 0, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 08:27:00'
2026-05-30 08:27:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 27, 5, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 08:27:05'
2026-05-30 08:28:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 28, 32, 675272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16514, 'low': 1.16505, 'close': 1.16514, 'volume': 2.0} | asctime='2026-05-30 08:28:32'
2026-05-30 08:28:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 28, 32, 676370, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.1667, 'low': 1.16661, 'close': 1.1667, 'volume': 2.0} | asctime='2026-05-30 08:28:32'
2026-05-30 08:28:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 28, 32, 742000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 08:28:32'
2026-05-30 08:28:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 28, 33, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 08:28:33'
2026-05-30 08:28:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 28, 35, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 08:28:35'
2026-05-30 08:28:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 28, 42, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:28:42'
2026-05-30 08:28:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 28, 43, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 08:28:43'
2026-05-30 08:28:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 28, 45, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 08:28:45'
2026-05-30 08:29:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 25, 323638, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16551, 'low': 1.16518, 'close': 1.16551, 'volume': 6.0} | asctime='2026-05-30 08:29:25'
2026-05-30 08:29:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 25, 324714, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16674, 'low': 1.16631, 'close': 1.16641, 'volume': 6.0} | asctime='2026-05-30 08:29:25'
2026-05-30 08:29:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 25, 375000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:29:25'
2026-05-30 08:29:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 28, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 08:29:28'
2026-05-30 08:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 57, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 08:29:57'
2026-05-30 08:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 57, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 08:29:57'
2026-05-30 08:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 59, 760000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 08:29:59'
2026-05-30 08:29:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 59, 973242, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16498, 'close': 1.16517, 'volume': 5.0} | asctime='2026-05-30 08:29:59'
2026-05-30 08:29:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 59, 974563, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16658, 'low': 1.16633, 'close': 1.16649, 'volume': 5.0} | asctime='2026-05-30 08:29:59'
2026-05-30 08:29:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 59, 975079, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16494, 'high': 1.16551, 'low': 1.16494, 'close': 1.16517, 'volume': 14.0} | asctime='2026-05-30 08:29:59'
2026-05-30 08:29:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 59, 976233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1665, 'high': 1.16674, 'low': 1.16631, 'close': 1.16649, 'volume': 14.0} | asctime='2026-05-30 08:29:59'
2026-05-30 08:29:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 59, 977331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16518, 'high': 1.16554, 'low': 1.16494, 'close': 1.16517, 'volume': 47.0} | asctime='2026-05-30 08:29:59'
2026-05-30 08:29:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 29, 59, 978155, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1665, 'high': 1.16674, 'low': 1.1661, 'close': 1.16649, 'volume': 47.0} | asctime='2026-05-30 08:29:59'
2026-05-30 08:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 30, 0, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 08:29:59'
2026-05-30 08:30:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 30, 0, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 08:30:00'
2026-05-30 08:30:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 30, 0, 754000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 08:30:00'
2026-05-30 08:30:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 30, 3, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 08:30:03'
2026-05-30 08:30:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 30, 4, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 08:30:04'
2026-05-30 08:31:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 31, 14, 422608, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.1655, 'low': 1.16511, 'close': 1.1655, 'volume': 5.0} | asctime='2026-05-30 08:31:14'
2026-05-30 08:31:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 31, 14, 423627, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16667, 'low': 1.1662, 'close': 1.1662, 'volume': 5.0} | asctime='2026-05-30 08:31:14'
2026-05-30 08:31:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 31, 14, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 08:31:14'
2026-05-30 08:31:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 31, 16, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 08:31:16'
2026-05-30 08:31:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 31, 24, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 08:31:24'
2026-05-30 08:31:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 31, 26, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 08:31:26'
2026-05-30 08:32:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 32, 30, 21859, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16543, 'low': 1.16513, 'close': 1.16543, 'volume': 4.0} | asctime='2026-05-30 08:32:30'
2026-05-30 08:32:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 32, 30, 22912, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16621, 'high': 1.16645, 'low': 1.16615, 'close': 1.16633, 'volume': 4.0} | asctime='2026-05-30 08:32:30'
2026-05-30 08:32:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 32, 30, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:32:30'
2026-05-30 08:32:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 32, 32, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 08:32:32'
2026-05-30 08:33:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 33, 46, 21721, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16537, 'close': 1.16537, 'volume': 2.0} | asctime='2026-05-30 08:33:46'
2026-05-30 08:33:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 33, 46, 22480, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16627, 'close': 1.16627, 'volume': 2.0} | asctime='2026-05-30 08:33:46'
2026-05-30 08:33:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 33, 46, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:33:46'
2026-05-30 08:33:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 33, 52, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 08:33:52'
2026-05-30 08:33:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 33, 54, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 08:33:54'
2026-05-30 08:34:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 34, 51, 670844, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16541, 'low': 1.16538, 'close': 1.16541, 'volume': 3.0} | asctime='2026-05-30 08:34:51'
2026-05-30 08:34:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 34, 51, 671632, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16631, 'low': 1.16628, 'close': 1.16631, 'volume': 3.0} | asctime='2026-05-30 08:34:51'
2026-05-30 08:34:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 34, 51, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 08:34:51'
2026-05-30 08:34:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 34, 51, 862000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 08:34:51'
2026-05-30 08:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 35, 0, 130164, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16513, 'low': 1.16507, 'close': 1.16507, 'volume': 2.0} | asctime='2026-05-30 08:35:00'
2026-05-30 08:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 35, 0, 131786, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16639, 'close': 1.16639, 'volume': 2.0} | asctime='2026-05-30 08:35:00'
2026-05-30 08:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 35, 0, 134222, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16543, 'high': 1.1655, 'low': 1.16507, 'close': 1.16507, 'volume': 16.0} | asctime='2026-05-30 08:35:00'
2026-05-30 08:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 35, 0, 141308, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16633, 'high': 1.16667, 'low': 1.16615, 'close': 1.16639, 'volume': 16.0} | asctime='2026-05-30 08:35:00'
2026-05-30 08:35:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 35, 0, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 08:35:00'
2026-05-30 08:35:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 35, 2, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 08:35:02'
2026-05-30 08:36:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 36, 15, 120488, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16507, 'low': 1.16505, 'close': 1.16505, 'volume': 2.0} | asctime='2026-05-30 08:36:15'
2026-05-30 08:36:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 36, 15, 122579, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16637, 'close': 1.16637, 'volume': 2.0} | asctime='2026-05-30 08:36:15'
2026-05-30 08:36:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 36, 15, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:36:15'
2026-05-30 08:37:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 37, 2, 669562, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16538, 'close': 1.16538, 'volume': 1.0} | asctime='2026-05-30 08:37:02'
2026-05-30 08:37:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 37, 2, 670601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16628, 'close': 1.16628, 'volume': 1.0} | asctime='2026-05-30 08:37:02'
2026-05-30 08:37:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 37, 2, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 08:37:02'
2026-05-30 08:37:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 37, 3, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 08:37:03'
2026-05-30 08:37:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 37, 4, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 08:37:04'
2026-05-30 08:37:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 37, 31, 881000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 08:37:31'
2026-05-30 08:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 37, 32, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 08:37:32'
2026-05-30 08:37:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 37, 36, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 08:37:36'
2026-05-30 08:38:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 38, 45, 68418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16535, 'low': 1.1651, 'close': 1.16534, 'volume': 6.0} | asctime='2026-05-30 08:38:45'
2026-05-30 08:38:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 38, 45, 69887, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16649, 'low': 1.16618, 'close': 1.16624, 'volume': 6.0} | asctime='2026-05-30 08:38:45'
2026-05-30 08:38:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 38, 45, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:38:45'
2026-05-30 08:39:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 39, 31, 968495, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16538, 'close': 1.16538, 'volume': 1.0} | asctime='2026-05-30 08:39:31'
2026-05-30 08:39:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 39, 31, 969358, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16628, 'close': 1.16628, 'volume': 1.0} | asctime='2026-05-30 08:39:31'
2026-05-30 08:39:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 39, 32, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 08:39:31'
2026-05-30 08:39:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 39, 40, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 08:39:40'
2026-05-30 08:39:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 39, 41, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 08:39:41'
2026-05-30 08:39:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 39, 49, 178000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 08:39:49'
2026-05-30 08:39:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 39, 51, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 08:39:51'
2026-05-30 08:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 39, 58, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 08:39:58'
2026-05-30 08:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 1, 418456, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16535, 'low': 1.16504, 'close': 1.16504, 'volume': 6.0} | asctime='2026-05-30 08:40:01'
2026-05-30 08:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 1, 419397, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16618, 'close': 1.16636, 'volume': 6.0} | asctime='2026-05-30 08:40:01'
2026-05-30 08:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 1, 420744, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16507, 'high': 1.16538, 'low': 1.16504, 'close': 1.16504, 'volume': 16.0} | asctime='2026-05-30 08:40:01'
2026-05-30 08:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 1, 422089, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16618, 'close': 1.16636, 'volume': 16.0} | asctime='2026-05-30 08:40:01'
2026-05-30 08:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 1, 468000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 08:40:01'
2026-05-30 08:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 3, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 08:40:03'
2026-05-30 08:40:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 10, 903000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 08:40:10'
2026-05-30 08:40:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 11, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 08:40:11'
2026-05-30 08:40:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 13, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16488, 'volume': 0.0} | asctime='2026-05-30 08:40:13'
2026-05-30 08:40:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 15, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 08:40:15'
2026-05-30 08:40:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 40, 23, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 08:40:23'
2026-05-30 08:41:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 41, 36, 517356, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16515, 'low': 1.16488, 'close': 1.16496, 'volume': 7.0} | asctime='2026-05-30 08:41:36'
2026-05-30 08:41:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 41, 36, 518234, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16628, 'close': 1.16628, 'volume': 7.0} | asctime='2026-05-30 08:41:36'
2026-05-30 08:41:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 41, 36, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 08:41:36'
2026-05-30 08:41:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 41, 38, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 08:41:38'
2026-05-30 08:42:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 42, 34, 116347, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16508, 'low': 1.16502, 'close': 1.16508, 'volume': 2.0} | asctime='2026-05-30 08:42:34'
2026-05-30 08:42:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 42, 34, 118524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.1664, 'low': 1.16634, 'close': 1.1664, 'volume': 2.0} | asctime='2026-05-30 08:42:34'
2026-05-30 08:42:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 42, 34, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 08:42:34'
2026-05-30 08:42:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 42, 52, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:42:52'
2026-05-30 08:44:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 44, 7, 215706, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16538, 'low': 1.16534, 'close': 1.16538, 'volume': 2.0} | asctime='2026-05-30 08:44:07'
2026-05-30 08:44:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 44, 7, 216569, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16628, 'low': 1.16624, 'close': 1.16628, 'volume': 2.0} | asctime='2026-05-30 08:44:07'
2026-05-30 08:44:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 44, 7, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 08:44:07'
2026-05-30 08:44:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 44, 8, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 08:44:08'
2026-05-30 08:44:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 44, 31, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:44:31'
2026-05-30 08:44:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 44, 32, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 08:44:32'
2026-05-30 08:44:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 44, 54, 812000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:44:54'
2026-05-30 08:44:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 44, 56, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 08:44:56'
2026-05-30 08:44:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 44, 56, 797000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 08:44:56'
2026-05-30 08:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 45, 20, 214995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16562, 'low': 1.16515, 'close': 1.16518, 'volume': 7.0} | asctime='2026-05-30 08:45:20'
2026-05-30 08:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 45, 20, 216176, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.1665, 'low': 1.16629, 'close': 1.1665, 'volume': 7.0} | asctime='2026-05-30 08:45:20'
2026-05-30 08:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 45, 20, 218485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16502, 'high': 1.16562, 'low': 1.16488, 'close': 1.16518, 'volume': 18.0} | asctime='2026-05-30 08:45:20'
2026-05-30 08:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 45, 20, 219695, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16624, 'close': 1.1665, 'volume': 18.0} | asctime='2026-05-30 08:45:20'
2026-05-30 08:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 45, 20, 221009, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16543, 'high': 1.16562, 'low': 1.16488, 'close': 1.16518, 'volume': 50.0} | asctime='2026-05-30 08:45:20'
2026-05-30 08:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 45, 20, 221944, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16633, 'high': 1.16667, 'low': 1.16615, 'close': 1.1665, 'volume': 50.0} | asctime='2026-05-30 08:45:20'
2026-05-30 08:45:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 45, 20, 260000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 08:45:20'
2026-05-30 08:45:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 45, 27, 836000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 08:45:27'
2026-05-30 08:45:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 45, 32, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16603, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 08:45:32'
2026-05-30 08:47:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 47, 33, 13393, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.16513, 'low': 1.16495, 'close': 1.16513, 'volume': 3.0} | asctime='2026-05-30 08:47:33'
2026-05-30 08:47:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 47, 33, 14081, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16653, 'low': 1.16603, 'close': 1.16603, 'volume': 3.0} | asctime='2026-05-30 08:47:33'
2026-05-30 08:47:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 47, 33, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 08:47:33'
2026-05-30 08:47:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 47, 35, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 08:47:35'
2026-05-30 08:47:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 47, 37, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:47:37'
2026-05-30 08:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 48, 4, 63119, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16538, 'low': 1.16502, 'close': 1.16538, 'volume': 3.0} | asctime='2026-05-30 08:48:04'
2026-05-30 08:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 48, 4, 64343, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16641, 'low': 1.16628, 'close': 1.16628, 'volume': 3.0} | asctime='2026-05-30 08:48:04'
2026-05-30 08:48:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 48, 4, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 08:48:04'
2026-05-30 08:48:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 48, 6, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 08:48:06'
2026-05-30 08:48:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 48, 44, 222000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 08:48:44'
2026-05-30 08:48:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 48, 46, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 08:48:46'
2026-05-30 08:48:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 48, 52, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 08:48:52'
2026-05-30 08:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 50, 3, 11824, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.1655, 'low': 1.16505, 'close': 1.1655, 'volume': 5.0} | asctime='2026-05-30 08:50:03'
2026-05-30 08:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 50, 3, 20372, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16661, 'low': 1.16614, 'close': 1.1664, 'volume': 5.0} | asctime='2026-05-30 08:50:03'
2026-05-30 08:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 50, 3, 23280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16497, 'high': 1.1655, 'low': 1.16495, 'close': 1.1655, 'volume': 11.0} | asctime='2026-05-30 08:50:03'
2026-05-30 08:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 50, 3, 24232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16653, 'high': 1.16661, 'low': 1.16603, 'close': 1.1664, 'volume': 11.0} | asctime='2026-05-30 08:50:03'
2026-05-30 08:50:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 50, 3, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 08:50:03'
2026-05-30 08:50:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 50, 4, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 08:50:04'
2026-05-30 08:51:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 51, 14, 111131, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16537, 'low': 1.16525, 'close': 1.16537, 'volume': 2.0} | asctime='2026-05-30 08:51:14'
2026-05-30 08:51:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 51, 14, 112270, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16657, 'low': 1.16627, 'close': 1.16627, 'volume': 2.0} | asctime='2026-05-30 08:51:14'
2026-05-30 08:51:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 51, 14, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 08:51:14'
2026-05-30 08:51:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 51, 14, 555000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 08:51:14'
2026-05-30 08:51:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 51, 16, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 08:51:16'
2026-05-30 08:51:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 51, 24, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 08:51:24'
2026-05-30 08:52:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 52, 32, 960448, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.1654, 'low': 1.16519, 'close': 1.1654, 'volume': 4.0} | asctime='2026-05-30 08:52:32'
2026-05-30 08:52:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 52, 32, 961442, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16625, 'close': 1.1663, 'volume': 4.0} | asctime='2026-05-30 08:52:32'
2026-05-30 08:52:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 52, 33, 12000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 08:52:32'
2026-05-30 08:52:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 52, 35, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 08:52:35'
2026-05-30 08:53:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 53, 44, 59858, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16532, 'low': 1.16513, 'close': 1.16532, 'volume': 2.0} | asctime='2026-05-30 08:53:44'
2026-05-30 08:53:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 53, 44, 61045, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16622, 'close': 1.16622, 'volume': 2.0} | asctime='2026-05-30 08:53:44'
2026-05-30 08:53:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 53, 44, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 08:53:44'
2026-05-30 08:54:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 54, 37, 109359, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16517, 'low': 1.16517, 'close': 1.16517, 'volume': 1.0} | asctime='2026-05-30 08:54:37'
2026-05-30 08:54:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 54, 37, 110449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16649, 'low': 1.16649, 'close': 1.16649, 'volume': 1.0} | asctime='2026-05-30 08:54:37'
2026-05-30 08:54:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 54, 37, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 08:54:37'
2026-05-30 08:54:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 54, 52, 794000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 08:54:52'
2026-05-30 08:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 54, 55, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 08:54:55'
2026-05-30 08:54:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 54, 56, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 08:54:56'
2026-05-30 08:54:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 54, 56, 890000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 08:54:56'
2026-05-30 08:54:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 54, 59, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 08:54:59'
2026-05-30 08:55:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 55, 58, 508752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16535, 'low': 1.16491, 'close': 1.1651, 'volume': 6.0} | asctime='2026-05-30 08:55:58'
2026-05-30 08:55:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 55, 58, 509895, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16671, 'low': 1.16625, 'close': 1.16642, 'volume': 6.0} | asctime='2026-05-30 08:55:58'
2026-05-30 08:55:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 55, 58, 511602, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16525, 'high': 1.1654, 'low': 1.16491, 'close': 1.1651, 'volume': 15.0} | asctime='2026-05-30 08:55:58'
2026-05-30 08:55:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 55, 58, 512579, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16657, 'high': 1.16671, 'low': 1.16622, 'close': 1.16642, 'volume': 15.0} | asctime='2026-05-30 08:55:58'
2026-05-30 08:55:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 55, 58, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 08:55:58'
2026-05-30 08:56:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 56, 15, 508174, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16492, 'high': 1.16492, 'low': 1.16492, 'close': 1.16492, 'volume': 1.0} | asctime='2026-05-30 08:56:15'
2026-05-30 08:56:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 56, 15, 509559, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16648, 'low': 1.16648, 'close': 1.16648, 'volume': 1.0} | asctime='2026-05-30 08:56:15'
2026-05-30 08:56:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 56, 15, 595000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 08:56:15'
2026-05-30 08:57:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 57, 2, 957313, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16499, 'high': 1.16499, 'low': 1.16499, 'close': 1.16499, 'volume': 1.0} | asctime='2026-05-30 08:57:02'
2026-05-30 08:57:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 57, 2, 958385, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16655, 'close': 1.16655, 'volume': 1.0} | asctime='2026-05-30 08:57:02'
2026-05-30 08:57:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 57, 3, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 08:57:02'
2026-05-30 08:57:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 57, 5, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16607, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 08:57:05'
2026-05-30 08:57:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 57, 25, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 08:57:25'
2026-05-30 08:58:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 58, 45, 356615, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16537, 'low': 1.16514, 'close': 1.1653, 'volume': 3.0} | asctime='2026-05-30 08:58:45'
2026-05-30 08:58:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 58, 45, 357887, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16646, 'low': 1.16607, 'close': 1.1662, 'volume': 3.0} | asctime='2026-05-30 08:58:45'
2026-05-30 08:58:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 58, 45, 434000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 08:58:45'
2026-05-30 08:59:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 59, 33, 56759, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16535, 'low': 1.16535, 'close': 1.16535, 'volume': 1.0} | asctime='2026-05-30 08:59:33'
2026-05-30 08:59:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 59, 33, 57901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16625, 'low': 1.16625, 'close': 1.16625, 'volume': 1.0} | asctime='2026-05-30 08:59:33'
2026-05-30 08:59:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 59, 33, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 08:59:33'
2026-05-30 08:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 59, 56, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 08:59:56'
2026-05-30 08:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 59, 56, 937000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 08:59:56'
2026-05-30 08:59:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 8, 59, 59, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 08:59:59'
2026-05-30 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 1, 105872, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16539, 'low': 1.16494, 'close': 1.16509, 'volume': 4.0} | asctime='2026-05-30 09:00:01'
2026-05-30 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 1, 108004, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16674, 'low': 1.16628, 'close': 1.16665, 'volume': 4.0} | asctime='2026-05-30 09:00:01'
2026-05-30 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 1, 109515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16492, 'high': 1.16539, 'low': 1.16492, 'close': 1.16509, 'volume': 10.0} | asctime='2026-05-30 09:00:01'
2026-05-30 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 1, 110970, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16648, 'high': 1.16674, 'low': 1.16607, 'close': 1.16665, 'volume': 10.0} | asctime='2026-05-30 09:00:01'
2026-05-30 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 1, 112086, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16497, 'high': 1.1655, 'low': 1.16491, 'close': 1.16509, 'volume': 36.0} | asctime='2026-05-30 09:00:01'
2026-05-30 09:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 1, 113250, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16653, 'high': 1.16674, 'low': 1.16603, 'close': 1.16665, 'volume': 36.0} | asctime='2026-05-30 09:00:01'
2026-05-30 09:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 1, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 09:00:01'
2026-05-30 09:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 3, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 09:00:02'
2026-05-30 09:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 5, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 09:00:05'
2026-05-30 09:00:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 27, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 09:00:27'
2026-05-30 09:00:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 0, 37, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 09:00:37'
2026-05-30 09:02:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 2, 27, 54774, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16541, 'low': 1.16528, 'close': 1.16528, 'volume': 5.0} | asctime='2026-05-30 09:02:27'
2026-05-30 09:02:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 2, 27, 55569, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16618, 'high': 1.16631, 'low': 1.16618, 'close': 1.16618, 'volume': 5.0} | asctime='2026-05-30 09:02:27'
2026-05-30 09:02:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 2, 27, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 09:02:27'
2026-05-30 09:02:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 2, 30, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 09:02:30'
2026-05-30 09:02:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 2, 39, 189000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 09:02:39'
2026-05-30 09:02:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 2, 43, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 09:02:43'
2026-05-30 09:02:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 2, 51, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 09:02:51'
2026-05-30 09:03:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 3, 30, 254242, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.1651, 'close': 1.16525, 'volume': 5.0} | asctime='2026-05-30 09:03:30'
2026-05-30 09:03:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 3, 30, 255201, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16608, 'high': 1.16643, 'low': 1.16608, 'close': 1.16615, 'volume': 5.0} | asctime='2026-05-30 09:03:30'
2026-05-30 09:03:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 3, 30, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 09:03:30'
2026-05-30 09:03:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 3, 30, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 09:03:30'
2026-05-30 09:03:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 3, 46, 845000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16475, 'volume': 0.0} | asctime='2026-05-30 09:03:46'
2026-05-30 09:03:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 3, 51, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16478, 'volume': 0.0} | asctime='2026-05-30 09:03:51'
2026-05-30 09:03:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 3, 53, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 09:03:53'
2026-05-30 09:03:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 3, 57, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:03:57'
2026-05-30 09:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 0, 903542, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16539, 'low': 1.16475, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 09:04:00'
2026-05-30 09:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 0, 904363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16679, 'low': 1.16629, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 09:04:00'
2026-05-30 09:04:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 0, 997000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 09:04:00'
2026-05-30 09:04:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 3, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 09:04:03'
2026-05-30 09:04:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 5, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 09:04:05'
2026-05-30 09:04:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 26, 820000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 09:04:26'
2026-05-30 09:04:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 26, 941000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 09:04:26'
2026-05-30 09:04:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 29, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 09:04:29'
2026-05-30 09:04:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 31, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 09:04:31'
2026-05-30 09:04:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 31, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 09:04:31'
2026-05-30 09:04:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 32, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 09:04:32'
2026-05-30 09:04:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 4, 33, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 09:04:33'
2026-05-30 09:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 1, 26006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16495, 'high': 1.16557, 'low': 1.16491, 'close': 1.16538, 'volume': 10.0} | asctime='2026-05-30 09:05:01'
2026-05-30 09:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 1, 26719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16657, 'low': 1.16622, 'close': 1.16628, 'volume': 10.0} | asctime='2026-05-30 09:05:01'
2026-05-30 09:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 1, 28316, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16528, 'high': 1.16557, 'low': 1.16475, 'close': 1.16538, 'volume': 26.0} | asctime='2026-05-30 09:05:01'
2026-05-30 09:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 1, 29551, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16618, 'high': 1.16679, 'low': 1.16608, 'close': 1.16628, 'volume': 26.0} | asctime='2026-05-30 09:05:01'
2026-05-30 09:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 1, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 09:05:01'
2026-05-30 09:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 1, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 09:05:01'
2026-05-30 09:05:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 2, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 09:05:02'
2026-05-30 09:05:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 2, 818000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 09:05:02'
2026-05-30 09:05:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 3, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 09:05:03'
2026-05-30 09:05:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 5, 5, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 09:05:05'
2026-05-30 09:07:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 1, 51772, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16528, 'low': 1.16505, 'close': 1.16528, 'volume': 6.0} | asctime='2026-05-30 09:07:01'
2026-05-30 09:07:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 1, 52706, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16661, 'low': 1.16618, 'close': 1.16618, 'volume': 6.0} | asctime='2026-05-30 09:07:01'
2026-05-30 09:07:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 1, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 09:07:01'
2026-05-30 09:07:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 3, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 09:07:03'
2026-05-30 09:07:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 31, 416000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 09:07:31'
2026-05-30 09:07:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 31, 786000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 09:07:31'
2026-05-30 09:07:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 32, 282000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 09:07:32'
2026-05-30 09:07:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 33, 27000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 09:07:32'
2026-05-30 09:07:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 35, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 09:07:35'
2026-05-30 09:07:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 7, 41, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 09:07:41'
2026-05-30 09:08:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 8, 3, 1223, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16544, 'low': 1.16495, 'close': 1.16537, 'volume': 8.0} | asctime='2026-05-30 09:08:03'
2026-05-30 09:08:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 8, 3, 2280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16675, 'low': 1.16623, 'close': 1.16627, 'volume': 8.0} | asctime='2026-05-30 09:08:03'
2026-05-30 09:08:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 8, 3, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 09:08:03'
2026-05-30 09:08:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 8, 27, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16613, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 09:08:27'
2026-05-30 09:08:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 8, 37, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 09:08:37'
2026-05-30 09:08:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 8, 57, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 09:08:57'
2026-05-30 09:08:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 8, 59, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:08:59'
2026-05-30 09:09:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 9, 21, 699688, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16539, 'low': 1.16508, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 09:09:21'
2026-05-30 09:09:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 9, 21, 700427, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16642, 'low': 1.16613, 'close': 1.16629, 'volume': 5.0} | asctime='2026-05-30 09:09:21'
2026-05-30 09:09:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 9, 21, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 09:09:21'
2026-05-30 09:09:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 9, 30, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 09:09:30'
2026-05-30 09:09:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 9, 31, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 09:09:31'
2026-05-30 09:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 10, 2, 49785, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16555, 'low': 1.16527, 'close': 1.16552, 'volume': 3.0} | asctime='2026-05-30 09:10:02'
2026-05-30 09:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 10, 2, 50777, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16659, 'low': 1.16642, 'close': 1.16642, 'volume': 3.0} | asctime='2026-05-30 09:10:02'
2026-05-30 09:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 10, 2, 51515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16526, 'high': 1.16555, 'low': 1.16495, 'close': 1.16552, 'volume': 22.0} | asctime='2026-05-30 09:10:02'
2026-05-30 09:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 10, 2, 51980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16675, 'low': 1.16613, 'close': 1.16642, 'volume': 22.0} | asctime='2026-05-30 09:10:02'
2026-05-30 09:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 10, 2, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 09:10:02'
2026-05-30 09:10:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 10, 5, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 09:10:05'
2026-05-30 09:10:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 10, 12, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 09:10:12'
2026-05-30 09:10:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 10, 13, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 09:10:13'
2026-05-30 09:12:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 12, 32, 998298, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16551, 'low': 1.16523, 'close': 1.16551, 'volume': 4.0} | asctime='2026-05-30 09:12:32'
2026-05-30 09:12:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 12, 32, 999051, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16628, 'close': 1.16641, 'volume': 4.0} | asctime='2026-05-30 09:12:33'
2026-05-30 09:12:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 12, 33, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 09:12:33'
2026-05-30 09:12:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 12, 41, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 09:12:41'
2026-05-30 09:12:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 12, 46, 605000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 09:12:46'
2026-05-30 09:13:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 13, 26, 247812, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16537, 'close': 1.16537, 'volume': 3.0} | asctime='2026-05-30 09:13:26'
2026-05-30 09:13:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 13, 26, 248620, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16633, 'low': 1.16627, 'close': 1.16627, 'volume': 3.0} | asctime='2026-05-30 09:13:26'
2026-05-30 09:13:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 13, 26, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 09:13:26'
2026-05-30 09:13:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 13, 27, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 09:13:26'
2026-05-30 09:13:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 13, 34, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 09:13:34'
2026-05-30 09:14:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 14, 25, 97208, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16509, 'low': 1.16506, 'close': 1.16506, 'volume': 3.0} | asctime='2026-05-30 09:14:25'
2026-05-30 09:14:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 14, 25, 98148, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16641, 'low': 1.16638, 'close': 1.16638, 'volume': 3.0} | asctime='2026-05-30 09:14:25'
2026-05-30 09:14:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 14, 25, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 09:14:25'
2026-05-30 09:14:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 14, 32, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 09:14:32'
2026-05-30 09:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 2, 946992, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16522, 'low': 1.16504, 'close': 1.16504, 'volume': 2.0} | asctime='2026-05-30 09:15:02'
2026-05-30 09:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 2, 949515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16612, 'high': 1.16636, 'low': 1.16612, 'close': 1.16636, 'volume': 2.0} | asctime='2026-05-30 09:15:02'
2026-05-30 09:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 2, 950920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16523, 'high': 1.16551, 'low': 1.16504, 'close': 1.16504, 'volume': 12.0} | asctime='2026-05-30 09:15:02'
2026-05-30 09:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 2, 952176, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16612, 'close': 1.16636, 'volume': 12.0} | asctime='2026-05-30 09:15:02'
2026-05-30 09:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 2, 953414, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16528, 'high': 1.16557, 'low': 1.16475, 'close': 1.16504, 'volume': 60.0} | asctime='2026-05-30 09:15:02'
2026-05-30 09:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 2, 954609, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16618, 'high': 1.16679, 'low': 1.16608, 'close': 1.16636, 'volume': 60.0} | asctime='2026-05-30 09:15:02'
2026-05-30 09:15:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 3, 34000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 09:15:02'
2026-05-30 09:15:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 5, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 09:15:05'
2026-05-30 09:15:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 17, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 09:15:16'
2026-05-30 09:15:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 15, 25, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 09:15:25'
2026-05-30 09:16:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 16, 45, 995579, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.1654, 'low': 1.16502, 'close': 1.1654, 'volume': 4.0} | asctime='2026-05-30 09:16:45'
2026-05-30 09:16:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 16, 45, 996450, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.1663, 'close': 1.1663, 'volume': 4.0} | asctime='2026-05-30 09:16:45'
2026-05-30 09:16:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 16, 46, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 09:16:45'
2026-05-30 09:16:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 16, 47, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 09:16:46'
2026-05-30 09:16:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 16, 47, 187000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 09:16:47'
2026-05-30 09:16:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 16, 56, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 09:16:56'
2026-05-30 09:16:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 16, 58, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 09:16:58'
2026-05-30 09:17:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 17, 18, 395232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16544, 'low': 1.16507, 'close': 1.16544, 'volume': 5.0} | asctime='2026-05-30 09:17:18'
2026-05-30 09:17:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 17, 18, 397384, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16676, 'low': 1.16628, 'close': 1.16676, 'volume': 5.0} | asctime='2026-05-30 09:17:18'
2026-05-30 09:17:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 17, 18, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 09:17:18'
2026-05-30 09:17:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 17, 22, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 09:17:22'
2026-05-30 09:17:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 17, 23, 436000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 09:17:23'
2026-05-30 09:17:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 17, 23, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 09:17:23'
2026-05-30 09:17:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 17, 26, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 09:17:26'
2026-05-30 09:17:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 17, 28, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 09:17:28'
2026-05-30 09:18:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 18, 18, 494588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16521, 'high': 1.16562, 'low': 1.16521, 'close': 1.16562, 'volume': 6.0} | asctime='2026-05-30 09:18:18'
2026-05-30 09:18:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 18, 18, 495543, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.16677, 'low': 1.16626, 'close': 1.16652, 'volume': 6.0} | asctime='2026-05-30 09:18:18'
2026-05-30 09:18:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 18, 18, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 09:18:18'
2026-05-30 09:18:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 18, 28, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 09:18:28'
2026-05-30 09:19:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 19, 444025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.1654, 'low': 1.1653, 'close': 1.1654, 'volume': 2.0} | asctime='2026-05-30 09:19:19'
2026-05-30 09:19:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 19, 444914, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.1663, 'close': 1.1663, 'volume': 2.0} | asctime='2026-05-30 09:19:19'
2026-05-30 09:19:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 19, 508000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 09:19:19'
2026-05-30 09:19:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 20, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 09:19:20'
2026-05-30 09:19:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 24, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 09:19:24'
2026-05-30 09:19:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 26, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 09:19:25'
2026-05-30 09:19:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 32, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 09:19:32'
2026-05-30 09:19:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 34, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 09:19:34'
2026-05-30 09:19:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 57, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 09:19:57'
2026-05-30 09:19:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 57, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 09:19:57'
2026-05-30 09:19:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 19, 58, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 09:19:58'
2026-05-30 09:20:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 20, 0, 43478, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.1654, 'low': 1.16502, 'close': 1.16524, 'volume': 9.0} | asctime='2026-05-30 09:20:00'
2026-05-30 09:20:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 20, 0, 45315, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16664, 'low': 1.16614, 'close': 1.16614, 'volume': 9.0} | asctime='2026-05-30 09:20:00'
2026-05-30 09:20:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 20, 0, 46639, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16502, 'high': 1.16562, 'low': 1.16502, 'close': 1.16524, 'volume': 26.0} | asctime='2026-05-30 09:20:00'
2026-05-30 09:20:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 20, 0, 47982, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16677, 'low': 1.16614, 'close': 1.16614, 'volume': 26.0} | asctime='2026-05-30 09:20:00'
2026-05-30 09:20:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 20, 0, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 09:20:00'
2026-05-30 09:20:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 20, 24, 930000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 09:20:24'
2026-05-30 09:20:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 20, 26, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 09:20:26'
2026-05-30 09:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 21, 1, 592920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16544, 'low': 1.16511, 'close': 1.16544, 'volume': 3.0} | asctime='2026-05-30 09:21:01'
2026-05-30 09:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 21, 1, 594901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16609, 'high': 1.16643, 'low': 1.16609, 'close': 1.16634, 'volume': 3.0} | asctime='2026-05-30 09:21:01'
2026-05-30 09:21:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 21, 1, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 09:21:01'
2026-05-30 09:21:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 21, 3, 536000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 09:21:03'
2026-05-30 09:21:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 21, 55, 427000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 09:21:55'
2026-05-30 09:21:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 21, 56, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 09:21:56'
2026-05-30 09:22:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 22, 4, 42369, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16534, 'low': 1.16517, 'close': 1.16534, 'volume': 4.0} | asctime='2026-05-30 09:22:04'
2026-05-30 09:22:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 22, 4, 43244, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16655, 'low': 1.16621, 'close': 1.16624, 'volume': 4.0} | asctime='2026-05-30 09:22:04'
2026-05-30 09:22:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 22, 4, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:22:04'
2026-05-30 09:22:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 22, 48, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 09:22:48'
2026-05-30 09:22:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 22, 48, 682000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16607, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 09:22:48'
2026-05-30 09:23:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 23, 38, 891552, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16535, 'close': 1.16537, 'volume': 3.0} | asctime='2026-05-30 09:23:38'
2026-05-30 09:23:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 23, 38, 892361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16607, 'close': 1.16607, 'volume': 3.0} | asctime='2026-05-30 09:23:38'
2026-05-30 09:23:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 23, 38, 961000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 09:23:38'
2026-05-30 09:24:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 24, 13, 890961, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16531, 'low': 1.16531, 'close': 1.16531, 'volume': 1.0} | asctime='2026-05-30 09:24:13'
2026-05-30 09:24:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 24, 13, 892634, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16621, 'high': 1.16621, 'low': 1.16621, 'close': 1.16621, 'volume': 1.0} | asctime='2026-05-30 09:24:13'
2026-05-30 09:24:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 24, 13, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 09:24:13'
2026-05-30 09:24:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 24, 15, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 09:24:14'
2026-05-30 09:25:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 25, 18, 290252, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16556, 'low': 1.16536, 'close': 1.16556, 'volume': 2.0} | asctime='2026-05-30 09:25:18'
2026-05-30 09:25:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 25, 18, 291453, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16626, 'low': 1.16626, 'close': 1.16626, 'volume': 2.0} | asctime='2026-05-30 09:25:18'
2026-05-30 09:25:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 25, 18, 292686, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16519, 'high': 1.16556, 'low': 1.16511, 'close': 1.16556, 'volume': 13.0} | asctime='2026-05-30 09:25:18'
2026-05-30 09:25:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 25, 18, 293275, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16609, 'high': 1.16655, 'low': 1.16607, 'close': 1.16626, 'volume': 13.0} | asctime='2026-05-30 09:25:18'
2026-05-30 09:25:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 25, 18, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 09:25:18'
2026-05-30 09:25:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 25, 31, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:25:30'
2026-05-30 09:25:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 25, 39, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 09:25:39'
2026-05-30 09:25:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 25, 48, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 09:25:48'
2026-05-30 09:26:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 26, 4, 989631, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16545, 'low': 1.16539, 'close': 1.16545, 'volume': 4.0} | asctime='2026-05-30 09:26:04'
2026-05-30 09:26:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 26, 4, 990842, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16635, 'low': 1.16629, 'close': 1.16635, 'volume': 4.0} | asctime='2026-05-30 09:26:04'
2026-05-30 09:26:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 26, 5, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 09:26:04'
2026-05-30 09:26:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 26, 7, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 09:26:06'
2026-05-30 09:27:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 27, 2, 938958, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16546, 'high': 1.16551, 'low': 1.16546, 'close': 1.16551, 'volume': 2.0} | asctime='2026-05-30 09:27:02'
2026-05-30 09:27:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 27, 2, 939999, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16636, 'high': 1.16641, 'low': 1.16636, 'close': 1.16641, 'volume': 2.0} | asctime='2026-05-30 09:27:02'
2026-05-30 09:27:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 27, 3, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 09:27:02'
2026-05-30 09:27:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 27, 12, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 09:27:12'
2026-05-30 09:27:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 27, 20, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 09:27:20'
2026-05-30 09:27:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 27, 22, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 09:27:22'
2026-05-30 09:27:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 27, 32, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 09:27:32'
2026-05-30 09:28:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 28, 4, 38018, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16547, 'high': 1.16553, 'low': 1.16541, 'close': 1.16552, 'volume': 5.0} | asctime='2026-05-30 09:28:04'
2026-05-30 09:28:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 28, 4, 39689, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16643, 'low': 1.16631, 'close': 1.16642, 'volume': 5.0} | asctime='2026-05-30 09:28:04'
2026-05-30 09:28:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 28, 4, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 09:28:04'
2026-05-30 09:28:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 28, 54, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 09:28:54'
2026-05-30 09:29:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 29, 33, 37737, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1655, 'high': 1.16551, 'low': 1.1655, 'close': 1.16551, 'volume': 2.0} | asctime='2026-05-30 09:29:33'
2026-05-30 09:29:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 29, 33, 38524, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16641, 'low': 1.1664, 'close': 1.16641, 'volume': 2.0} | asctime='2026-05-30 09:29:33'
2026-05-30 09:29:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 29, 33, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 09:29:33'
2026-05-30 09:29:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 29, 44, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:29:43'
2026-05-30 09:29:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 29, 48, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 09:29:48'
2026-05-30 09:30:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 30, 4, 86575, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16539, 'close': 1.16544, 'volume': 3.0} | asctime='2026-05-30 09:30:04'
2026-05-30 09:30:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 30, 4, 87782, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16634, 'low': 1.16629, 'close': 1.16634, 'volume': 3.0} | asctime='2026-05-30 09:30:04'
2026-05-30 09:30:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 30, 4, 88999, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1654, 'high': 1.16553, 'low': 1.16539, 'close': 1.16544, 'volume': 16.0} | asctime='2026-05-30 09:30:04'
2026-05-30 09:30:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 30, 4, 89568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1663, 'high': 1.16643, 'low': 1.16629, 'close': 1.16634, 'volume': 16.0} | asctime='2026-05-30 09:30:04'
2026-05-30 09:30:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 30, 4, 91018, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16502, 'high': 1.16562, 'low': 1.16502, 'close': 1.16544, 'volume': 55.0} | asctime='2026-05-30 09:30:04'
2026-05-30 09:30:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 30, 4, 91770, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16658, 'high': 1.16677, 'low': 1.16607, 'close': 1.16634, 'volume': 55.0} | asctime='2026-05-30 09:30:04'
2026-05-30 09:30:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 30, 4, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 09:30:04'
2026-05-30 09:32:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 32, 2, 985596, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16549, 'low': 1.16549, 'close': 1.16549, 'volume': 1.0} | asctime='2026-05-30 09:32:02'
2026-05-30 09:32:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 32, 2, 986804, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16639, 'low': 1.16639, 'close': 1.16639, 'volume': 1.0} | asctime='2026-05-30 09:32:02'
2026-05-30 09:32:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 32, 3, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 09:32:02'
2026-05-30 09:32:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 32, 5, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 09:32:04'
2026-05-30 09:32:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 32, 17, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:32:17'
2026-05-30 09:33:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 33, 48, 384476, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16544, 'low': 1.16517, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 09:33:48'
2026-05-30 09:33:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 33, 48, 385297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16649, 'low': 1.16629, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 09:33:48'
2026-05-30 09:33:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 33, 48, 489000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 09:33:48'
2026-05-30 09:33:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 33, 51, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 09:33:50'
2026-05-30 09:34:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 4, 687301, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16499, 'high': 1.16528, 'low': 1.16499, 'close': 1.16528, 'volume': 2.0} | asctime='2026-05-30 09:34:04'
2026-05-30 09:34:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 4, 688287, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16618, 'close': 1.16618, 'volume': 2.0} | asctime='2026-05-30 09:34:04'
2026-05-30 09:34:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 4, 750000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 09:34:04'
2026-05-30 09:34:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 4, 873000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 09:34:04'
2026-05-30 09:34:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 7, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 09:34:07'
2026-05-30 09:34:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 45, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 09:34:44'
2026-05-30 09:34:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 49, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 09:34:49'
2026-05-30 09:34:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 51, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 09:34:50'
2026-05-30 09:34:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 53, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 09:34:53'
2026-05-30 09:34:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 55, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 09:34:55'
2026-05-30 09:34:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 57, 759000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 09:34:57'
2026-05-30 09:34:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 57, 881000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 09:34:57'
2026-05-30 09:34:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 34, 59, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 09:34:59'
2026-05-30 09:35:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 8, 734158, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16501, 'high': 1.16557, 'low': 1.16493, 'close': 1.16508, 'volume': 11.0} | asctime='2026-05-30 09:35:08'
2026-05-30 09:35:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 8, 735847, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16664, 'low': 1.16627, 'close': 1.16664, 'volume': 11.0} | asctime='2026-05-30 09:35:08'
2026-05-30 09:35:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 8, 736865, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16549, 'high': 1.16557, 'low': 1.16493, 'close': 1.16508, 'volume': 17.0} | asctime='2026-05-30 09:35:08'
2026-05-30 09:35:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 8, 737339, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16639, 'high': 1.16664, 'low': 1.16618, 'close': 1.16664, 'volume': 17.0} | asctime='2026-05-30 09:35:08'
2026-05-30 09:35:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 8, 806000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 09:35:08'
2026-05-30 09:35:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 9, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 09:35:08'
2026-05-30 09:35:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 12, 902000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 09:35:12'
2026-05-30 09:35:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 13, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 09:35:12'
2026-05-30 09:35:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 15, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 09:35:15'
2026-05-30 09:35:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 23, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 09:35:22'
2026-05-30 09:35:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 45, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 09:35:44'
2026-05-30 09:35:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 48, 532000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 09:35:48'
2026-05-30 09:35:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 35, 49, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:35:49'
2026-05-30 09:36:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 36, 2, 833487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16539, 'low': 1.16506, 'close': 1.16539, 'volume': 9.0} | asctime='2026-05-30 09:36:02'
2026-05-30 09:36:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 36, 2, 834490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16665, 'high': 1.16665, 'low': 1.16614, 'close': 1.16629, 'volume': 9.0} | asctime='2026-05-30 09:36:02'
2026-05-30 09:36:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 36, 2, 931000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 09:36:02'
2026-05-30 09:36:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 36, 13, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 09:36:13'
2026-05-30 09:36:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 36, 14, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 09:36:14'
2026-05-30 09:36:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 36, 37, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 09:36:36'
2026-05-30 09:37:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 37, 8, 382302, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16523, 'low': 1.165, 'close': 1.16523, 'volume': 4.0} | asctime='2026-05-30 09:37:08'
2026-05-30 09:37:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 37, 8, 383273, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16656, 'low': 1.16633, 'close': 1.16655, 'volume': 4.0} | asctime='2026-05-30 09:37:08'
2026-05-30 09:37:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 37, 8, 477000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 09:37:08'
2026-05-30 09:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 37, 11, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 09:37:10'
2026-05-30 09:38:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 38, 12, 181465, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16503, 'high': 1.16508, 'low': 1.16503, 'close': 1.16508, 'volume': 2.0} | asctime='2026-05-30 09:38:12'
2026-05-30 09:38:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 38, 12, 182300, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16659, 'low': 1.1664, 'close': 1.1664, 'volume': 2.0} | asctime='2026-05-30 09:38:12'
2026-05-30 09:38:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 38, 12, 286000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 09:38:12'
2026-05-30 09:38:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 38, 14, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 09:38:14'
2026-05-30 09:38:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 38, 15, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 09:38:15'
2026-05-30 09:38:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 38, 17, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:38:17'
2026-05-30 09:39:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 39, 32, 780715, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.1654, 'low': 1.16505, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 09:39:32'
2026-05-30 09:39:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 39, 32, 781681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16661, 'low': 1.16629, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 09:39:32'
2026-05-30 09:39:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 39, 32, 854000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 09:39:32'
2026-05-30 09:39:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 39, 40, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 09:39:39'
2026-05-30 09:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 40, 3, 30629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16553, 'low': 1.16529, 'close': 1.16553, 'volume': 2.0} | asctime='2026-05-30 09:40:03'
2026-05-30 09:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 40, 3, 31682, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16643, 'close': 1.16643, 'volume': 2.0} | asctime='2026-05-30 09:40:03'
2026-05-30 09:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 40, 3, 33393, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16509, 'high': 1.16553, 'low': 1.165, 'close': 1.16553, 'volume': 21.0} | asctime='2026-05-30 09:40:03'
2026-05-30 09:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 40, 3, 34629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16665, 'high': 1.16665, 'low': 1.16614, 'close': 1.16643, 'volume': 21.0} | asctime='2026-05-30 09:40:03'
2026-05-30 09:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 40, 3, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 09:40:03'
2026-05-30 09:40:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 40, 44, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 09:40:44'
2026-05-30 09:40:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 40, 47, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 09:40:46'
2026-05-30 09:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 41, 12, 80073, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16526, 'low': 1.16519, 'close': 1.16519, 'volume': 3.0} | asctime='2026-05-30 09:41:12'
2026-05-30 09:41:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 41, 12, 80723, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16675, 'low': 1.16656, 'close': 1.16675, 'volume': 3.0} | asctime='2026-05-30 09:41:12'
2026-05-30 09:41:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 41, 12, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 09:41:12'
2026-05-30 09:41:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 41, 14, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 09:41:14'
2026-05-30 09:41:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 41, 16, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:41:16'
2026-05-30 09:42:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 42, 32, 29124, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16542, 'low': 1.16533, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 09:42:32'
2026-05-30 09:42:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 42, 32, 30312, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16665, 'high': 1.16665, 'low': 1.16629, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 09:42:32'
2026-05-30 09:42:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 42, 32, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 09:42:32'
2026-05-30 09:42:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 42, 42, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 09:42:42'
2026-05-30 09:43:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 43, 15, 979076, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16536, 'low': 1.1651, 'close': 1.16536, 'volume': 2.0} | asctime='2026-05-30 09:43:15'
2026-05-30 09:43:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 43, 15, 980156, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16626, 'close': 1.16626, 'volume': 2.0} | asctime='2026-05-30 09:43:15'
2026-05-30 09:43:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 43, 16, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 09:43:15'
2026-05-30 09:43:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 43, 18, 289000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:43:18'
2026-05-30 09:44:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 44, 0, 178281, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16539, 'low': 1.16538, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 09:44:00'
2026-05-30 09:44:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 44, 0, 179309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16629, 'low': 1.16628, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 09:44:00'
2026-05-30 09:44:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 44, 0, 249000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 09:44:00'
2026-05-30 09:44:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 44, 0, 372000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 09:44:00'
2026-05-30 09:44:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 44, 2, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 09:44:02'
2026-05-30 09:44:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 44, 46, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 09:44:46'
2026-05-30 09:44:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 44, 48, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 09:44:48'
2026-05-30 09:44:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 44, 50, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 09:44:50'
2026-05-30 09:44:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 44, 54, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:44:54'
2026-05-30 09:46:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 46, 0, 680649, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16539, 'low': 1.16513, 'close': 1.16539, 'volume': 7.0} | asctime='2026-05-30 09:46:00'
2026-05-30 09:46:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 46, 0, 681520, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.16669, 'low': 1.16629, 'close': 1.16629, 'volume': 7.0} | asctime='2026-05-30 09:46:00'
2026-05-30 09:46:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 46, 0, 682080, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16524, 'high': 1.16542, 'low': 1.1651, 'close': 1.16539, 'volume': 17.0} | asctime='2026-05-30 09:46:00'
2026-05-30 09:46:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 46, 0, 682561, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16656, 'high': 1.16675, 'low': 1.16626, 'close': 1.16629, 'volume': 17.0} | asctime='2026-05-30 09:46:00'
2026-05-30 09:46:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 46, 0, 682975, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16549, 'high': 1.16557, 'low': 1.16493, 'close': 1.16539, 'volume': 55.0} | asctime='2026-05-30 09:46:00'
2026-05-30 09:46:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 46, 0, 683413, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16639, 'high': 1.16675, 'low': 1.16614, 'close': 1.16629, 'volume': 55.0} | asctime='2026-05-30 09:46:00'
2026-05-30 09:46:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 46, 0, 789000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 09:46:00'
2026-05-30 09:46:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 46, 4, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 09:46:04'
2026-05-30 09:47:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 47, 20, 126845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16553, 'low': 1.16519, 'close': 1.16553, 'volume': 2.0} | asctime='2026-05-30 09:47:20'
2026-05-30 09:47:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 47, 20, 127538, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16651, 'low': 1.16643, 'close': 1.16643, 'volume': 2.0} | asctime='2026-05-30 09:47:20'
2026-05-30 09:47:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 47, 20, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 09:47:20'
2026-05-30 09:47:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 47, 22, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:47:22'
2026-05-30 09:47:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 47, 51, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 09:47:51'
2026-05-30 09:47:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 47, 52, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 09:47:52'
2026-05-30 09:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 48, 2, 976102, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16539, 'low': 1.16506, 'close': 1.16513, 'volume': 4.0} | asctime='2026-05-30 09:48:02'
2026-05-30 09:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 48, 2, 977970, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16669, 'low': 1.16629, 'close': 1.16669, 'volume': 4.0} | asctime='2026-05-30 09:48:02'
2026-05-30 09:48:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 48, 3, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 09:48:02'
2026-05-30 09:49:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 49, 6, 875906, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16515, 'low': 1.16515, 'close': 1.16515, 'volume': 1.0} | asctime='2026-05-30 09:49:06'
2026-05-30 09:49:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 49, 6, 876791, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16647, 'low': 1.16647, 'close': 1.16647, 'volume': 1.0} | asctime='2026-05-30 09:49:06'
2026-05-30 09:49:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 49, 6, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 09:49:06'
2026-05-30 09:49:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 49, 7, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 09:49:07'
2026-05-30 09:49:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 49, 10, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 09:49:10'
2026-05-30 09:49:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 49, 12, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:49:12'
2026-05-30 09:49:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 49, 14, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 09:49:13'
2026-05-30 09:49:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 49, 51, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 09:49:50'
2026-05-30 09:50:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 25, 922601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.16549, 'low': 1.16495, 'close': 1.16549, 'volume': 6.0} | asctime='2026-05-30 09:50:25'
2026-05-30 09:50:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 25, 927303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16653, 'low': 1.16629, 'close': 1.16639, 'volume': 6.0} | asctime='2026-05-30 09:50:25'
2026-05-30 09:50:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 25, 933640, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16519, 'high': 1.16553, 'low': 1.16495, 'close': 1.16549, 'volume': 13.0} | asctime='2026-05-30 09:50:25'
2026-05-30 09:50:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 25, 935618, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16651, 'high': 1.16669, 'low': 1.16629, 'close': 1.16639, 'volume': 13.0} | asctime='2026-05-30 09:50:25'
2026-05-30 09:50:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 25, 951000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 09:50:25'
2026-05-30 09:50:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 27, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 09:50:27'
2026-05-30 09:50:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 33, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16474, 'volume': 0.0} | asctime='2026-05-30 09:50:32'
2026-05-30 09:50:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 37, 495000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16467, 'volume': 0.0} | asctime='2026-05-30 09:50:37'
2026-05-30 09:50:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 38, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 09:50:38'
2026-05-30 09:50:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 39, 233000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 09:50:39'
2026-05-30 09:50:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 39, 356000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 09:50:39'
2026-05-30 09:50:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 39, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 09:50:39'
2026-05-30 09:50:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 40, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 09:50:40'
2026-05-30 09:50:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 50, 42, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 09:50:41'
2026-05-30 09:51:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 51, 6, 74748, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16519, 'low': 1.16467, 'close': 1.16513, 'volume': 10.0} | asctime='2026-05-30 09:51:06'
2026-05-30 09:51:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 51, 6, 85890, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16671, 'low': 1.16645, 'close': 1.16645, 'volume': 10.0} | asctime='2026-05-30 09:51:06'
2026-05-30 09:51:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 51, 6, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16607, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 09:51:06'
2026-05-30 09:52:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 52, 7, 23426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16537, 'low': 1.16537, 'close': 1.16537, 'volume': 1.0} | asctime='2026-05-30 09:52:07'
2026-05-30 09:52:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 52, 7, 24198, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16607, 'high': 1.16607, 'low': 1.16607, 'close': 1.16607, 'volume': 1.0} | asctime='2026-05-30 09:52:07'
2026-05-30 09:52:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 52, 7, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 09:52:07'
2026-05-30 09:52:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 52, 7, 248000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 09:52:07'
2026-05-30 09:52:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 52, 8, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 09:52:08'
2026-05-30 09:52:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 52, 12, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 09:52:12'
2026-05-30 09:52:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 52, 14, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 09:52:13'
2026-05-30 09:53:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 53, 4, 23457, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16535, 'low': 1.16503, 'close': 1.1653, 'volume': 5.0} | asctime='2026-05-30 09:53:04'
2026-05-30 09:53:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 53, 4, 24671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16662, 'low': 1.16621, 'close': 1.16662, 'volume': 5.0} | asctime='2026-05-30 09:53:04'
2026-05-30 09:53:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 53, 4, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 09:53:04'
2026-05-30 09:54:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 54, 11, 22371, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 09:54:11'
2026-05-30 09:54:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 54, 11, 23092, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 09:54:11'
2026-05-30 09:54:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 54, 11, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 09:54:11'
2026-05-30 09:54:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 54, 13, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 09:54:13'
2026-05-30 09:54:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 54, 18, 712000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 09:54:18'
2026-05-30 09:54:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 54, 21, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 09:54:20'
2026-05-30 09:54:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 54, 43, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 09:54:43'
2026-05-30 09:55:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 55, 32, 222191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16541, 'low': 1.1651, 'close': 1.1654, 'volume': 5.0} | asctime='2026-05-30 09:55:32'
2026-05-30 09:55:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 55, 32, 223091, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16642, 'low': 1.16617, 'close': 1.1663, 'volume': 5.0} | asctime='2026-05-30 09:55:32'
2026-05-30 09:55:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 55, 32, 224511, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16498, 'high': 1.16541, 'low': 1.16467, 'close': 1.1654, 'volume': 22.0} | asctime='2026-05-30 09:55:32'
2026-05-30 09:55:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 55, 32, 225535, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16654, 'high': 1.16671, 'low': 1.16607, 'close': 1.1663, 'volume': 22.0} | asctime='2026-05-30 09:55:32'
2026-05-30 09:55:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 55, 32, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 09:55:32'
2026-05-30 09:55:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 55, 39, 403000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 09:55:39'
2026-05-30 09:55:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 55, 41, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 09:55:41'
2026-05-30 09:56:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 56, 19, 21416, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16508, 'low': 1.16506, 'close': 1.16508, 'volume': 3.0} | asctime='2026-05-30 09:56:19'
2026-05-30 09:56:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 56, 19, 22236, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16664, 'low': 1.16639, 'close': 1.16664, 'volume': 3.0} | asctime='2026-05-30 09:56:19'
2026-05-30 09:56:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 56, 19, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 09:56:19'
2026-05-30 09:56:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 56, 25, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 09:56:24'
2026-05-30 09:57:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 57, 18, 970728, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16513, 'low': 1.16511, 'close': 1.16513, 'volume': 2.0} | asctime='2026-05-30 09:57:18'
2026-05-30 09:57:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 57, 18, 972947, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16667, 'low': 1.16645, 'close': 1.16645, 'volume': 2.0} | asctime='2026-05-30 09:57:18'
2026-05-30 09:57:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 57, 19, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 09:57:18'
2026-05-30 09:58:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 58, 2, 920565, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16541, 'low': 1.16541, 'close': 1.16541, 'volume': 1.0} | asctime='2026-05-30 09:58:02'
2026-05-30 09:58:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 58, 2, 922198, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16631, 'low': 1.16631, 'close': 1.16631, 'volume': 1.0} | asctime='2026-05-30 09:58:02'
2026-05-30 09:58:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 58, 3, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 09:58:02'
2026-05-30 09:58:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 58, 13, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 09:58:12'
2026-05-30 09:58:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 58, 22, 403000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 09:58:22'
2026-05-30 09:58:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 58, 30, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 09:58:30'
2026-05-30 09:59:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 59, 31, 69918, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16537, 'low': 1.16523, 'close': 1.16526, 'volume': 4.0} | asctime='2026-05-30 09:59:31'
2026-05-30 09:59:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 59, 31, 71441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16658, 'low': 1.16626, 'close': 1.16658, 'volume': 4.0} | asctime='2026-05-30 09:59:31'
2026-05-30 09:59:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 59, 31, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 09:59:31'
2026-05-30 09:59:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 59, 38, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 09:59:38'
2026-05-30 09:59:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 59, 39, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16564, 'volume': 0.0} | asctime='2026-05-30 09:59:39'
2026-05-30 09:59:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 59, 48, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 09:59:48'
2026-05-30 09:59:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 9, 59, 55, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 09:59:55'
2026-05-30 10:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 2, 220680, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16521, 'high': 1.16564, 'low': 1.16521, 'close': 1.16544, 'volume': 5.0} | asctime='2026-05-30 10:00:02'
2026-05-30 10:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 2, 221794, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16654, 'low': 1.16634, 'close': 1.16634, 'volume': 5.0} | asctime='2026-05-30 10:00:02'
2026-05-30 10:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 2, 223440, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16507, 'high': 1.16564, 'low': 1.16506, 'close': 1.16544, 'volume': 15.0} | asctime='2026-05-30 10:00:02'
2026-05-30 10:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 2, 224449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16639, 'high': 1.16667, 'low': 1.16626, 'close': 1.16634, 'volume': 15.0} | asctime='2026-05-30 10:00:02'
2026-05-30 10:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 2, 225366, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16519, 'high': 1.16564, 'low': 1.16467, 'close': 1.16544, 'volume': 50.0} | asctime='2026-05-30 10:00:02'
2026-05-30 10:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 2, 226272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16651, 'high': 1.16671, 'low': 1.16607, 'close': 1.16634, 'volume': 50.0} | asctime='2026-05-30 10:00:02'
2026-05-30 10:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 2, 330000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 10:00:02'
2026-05-30 10:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 3, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 10:00:02'
2026-05-30 10:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 5, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 10:00:05'
2026-05-30 10:00:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 7, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 10:00:07'
2026-05-30 10:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 11, 20000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 10:00:10'
2026-05-30 10:00:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 28, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 10:00:28'
2026-05-30 10:00:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 44, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:00:44'
2026-05-30 10:00:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 0, 45, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 10:00:45'
2026-05-30 10:01:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 1, 27, 617974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16561, 'low': 1.16515, 'close': 1.16546, 'volume': 8.0} | asctime='2026-05-30 10:01:27'
2026-05-30 10:01:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 1, 27, 619704, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16671, 'low': 1.16636, 'close': 1.16636, 'volume': 8.0} | asctime='2026-05-30 10:01:27'
2026-05-30 10:01:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 1, 27, 738000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 10:01:27'
2026-05-30 10:01:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 1, 37, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16613, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 10:01:37'
2026-05-30 10:02:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 2, 32, 918935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16523, 'low': 1.16502, 'close': 1.16523, 'volume': 2.0} | asctime='2026-05-30 10:02:32'
2026-05-30 10:02:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 2, 32, 920429, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16613, 'close': 1.16613, 'volume': 2.0} | asctime='2026-05-30 10:02:32'
2026-05-30 10:02:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 2, 33, 37000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 10:02:32'
2026-05-30 10:02:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 2, 41, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 10:02:41'
2026-05-30 10:02:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 2, 49, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 10:02:49'
2026-05-30 10:03:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 3, 44, 416364, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16536, 'low': 1.16508, 'close': 1.16509, 'volume': 3.0} | asctime='2026-05-30 10:03:44'
2026-05-30 10:03:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 3, 44, 417392, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16641, 'low': 1.16626, 'close': 1.16641, 'volume': 3.0} | asctime='2026-05-30 10:03:44'
2026-05-30 10:03:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 3, 44, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 10:03:44'
2026-05-30 10:03:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 3, 45, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 10:03:45'
2026-05-30 10:04:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 10, 767025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16525, 'low': 1.1651, 'close': 1.16525, 'volume': 2.0} | asctime='2026-05-30 10:04:10'
2026-05-30 10:04:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 10, 767763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16615, 'close': 1.16615, 'volume': 2.0} | asctime='2026-05-30 10:04:10'
2026-05-30 10:04:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 10, 857000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16474, 'volume': 0.0} | asctime='2026-05-30 10:04:10'
2026-05-30 10:04:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 13, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 10:04:12'
2026-05-30 10:04:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 15, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 10:04:14'
2026-05-30 10:04:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 42, 762000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 10:04:42'
2026-05-30 10:04:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 43, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 10:04:43'
2026-05-30 10:04:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 45, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 10:04:45'
2026-05-30 10:04:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 47, 727000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 10:04:47'
2026-05-30 10:04:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 54, 306000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 10:04:54'
2026-05-30 10:04:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 57, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 10:04:57'
2026-05-30 10:04:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 4, 59, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 10:04:59'
2026-05-30 10:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 1, 668029, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16474, 'high': 1.16549, 'low': 1.16474, 'close': 1.16549, 'volume': 10.0} | asctime='2026-05-30 10:05:01'
2026-05-30 10:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 1, 668780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16678, 'high': 1.16678, 'low': 1.16631, 'close': 1.16639, 'volume': 10.0} | asctime='2026-05-30 10:05:01'
2026-05-30 10:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 1, 669988, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16529, 'high': 1.16561, 'low': 1.16474, 'close': 1.16549, 'volume': 25.0} | asctime='2026-05-30 10:05:01'
2026-05-30 10:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 1, 671103, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16661, 'high': 1.16678, 'low': 1.16613, 'close': 1.16639, 'volume': 25.0} | asctime='2026-05-30 10:05:01'
2026-05-30 10:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 1, 756000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 10:05:01'
2026-05-30 10:05:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 18, 888000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 10:05:18'
2026-05-30 10:05:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 22, 859000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 10:05:22'
2026-05-30 10:05:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 24, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:05:24'
2026-05-30 10:05:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 25, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 10:05:24'
2026-05-30 10:05:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 27, 327000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 10:05:27'
2026-05-30 10:05:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 29, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 10:05:28'
2026-05-30 10:05:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 5, 52, 901000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:05:52'
2026-05-30 10:07:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 7, 24, 414679, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16541, 'low': 1.1651, 'close': 1.16519, 'volume': 8.0} | asctime='2026-05-30 10:07:24'
2026-05-30 10:07:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 7, 24, 416416, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16623, 'close': 1.16651, 'volume': 8.0} | asctime='2026-05-30 10:07:24'
2026-05-30 10:07:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 7, 24, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 10:07:24'
2026-05-30 10:07:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 7, 51, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 10:07:50'
2026-05-30 10:07:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 7, 56, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:07:56'
2026-05-30 10:08:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 11, 814372, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16539, 'low': 1.16524, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 10:08:11'
2026-05-30 10:08:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 11, 815443, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16626, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 10:08:11'
2026-05-30 10:08:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 11, 937000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:08:11'
2026-05-30 10:08:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 13, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 10:08:12'
2026-05-30 10:08:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 43, 221000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 10:08:43'
2026-05-30 10:08:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 44, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 10:08:43'
2026-05-30 10:08:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 45, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 10:08:44'
2026-05-30 10:08:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 45, 455000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 10:08:45'
2026-05-30 10:08:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 45, 703000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 10:08:45'
2026-05-30 10:08:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 45, 827000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 10:08:45'
2026-05-30 10:08:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 49, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 10:08:48'
2026-05-30 10:08:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 51, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 10:08:50'
2026-05-30 10:08:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 8, 53, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:08:53'
2026-05-30 10:09:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 9, 22, 963631, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16557, 'low': 1.16492, 'close': 1.16519, 'volume': 11.0} | asctime='2026-05-30 10:09:22'
2026-05-30 10:09:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 9, 22, 964895, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16695, 'low': 1.16647, 'close': 1.16651, 'volume': 11.0} | asctime='2026-05-30 10:09:22'
2026-05-30 10:09:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 9, 23, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 10:09:22'
2026-05-30 10:09:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 9, 24, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 10:09:24'
2026-05-30 10:09:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 9, 25, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 10:09:24'
2026-05-30 10:09:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 9, 27, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 10:09:27'
2026-05-30 10:10:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 10, 5, 663009, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.16541, 'low': 1.16511, 'close': 1.16541, 'volume': 4.0} | asctime='2026-05-30 10:10:05'
2026-05-30 10:10:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 10, 5, 663752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1662, 'high': 1.16643, 'low': 1.1662, 'close': 1.16631, 'volume': 4.0} | asctime='2026-05-30 10:10:05'
2026-05-30 10:10:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 10, 5, 665173, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16522, 'high': 1.16557, 'low': 1.16492, 'close': 1.16541, 'volume': 26.0} | asctime='2026-05-30 10:10:05'
2026-05-30 10:10:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 10, 5, 666303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16654, 'high': 1.16695, 'low': 1.1662, 'close': 1.16631, 'volume': 26.0} | asctime='2026-05-30 10:10:05'
2026-05-30 10:10:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 10, 5, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 10:10:05'
2026-05-30 10:10:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 10, 7, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 10:10:07'
2026-05-30 10:10:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 10, 9, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 10:10:09'
2026-05-30 10:10:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 10, 26, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 10:10:26'
2026-05-30 10:10:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 10, 27, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 10:10:27'
2026-05-30 10:11:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 11, 12, 316985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.16556, 'low': 1.16513, 'close': 1.16533, 'volume': 5.0} | asctime='2026-05-30 10:11:12'
2026-05-30 10:11:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 11, 12, 319935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16669, 'low': 1.1664, 'close': 1.16665, 'volume': 5.0} | asctime='2026-05-30 10:11:12'
2026-05-30 10:11:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 11, 12, 441000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 10:11:12'
2026-05-30 10:11:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 11, 13, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 10:11:12'
2026-05-30 10:11:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 11, 32, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 10:11:31'
2026-05-30 10:11:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 11, 33, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 10:11:33'
2026-05-30 10:11:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 11, 34, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 10:11:33'
2026-05-30 10:11:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 11, 36, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 10:11:36'
2026-05-30 10:13:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 13, 44, 510494, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16491, 'high': 1.16557, 'low': 1.16491, 'close': 1.16543, 'volume': 6.0} | asctime='2026-05-30 10:13:44'
2026-05-30 10:13:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 13, 44, 511202, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16695, 'high': 1.16695, 'low': 1.16633, 'close': 1.16633, 'volume': 6.0} | asctime='2026-05-30 10:13:44'
2026-05-30 10:13:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 13, 44, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 10:13:44'
2026-05-30 10:13:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 13, 46, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:13:46'
2026-05-30 10:14:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 14, 11, 960820, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16519, 'low': 1.16508, 'close': 1.16519, 'volume': 2.0} | asctime='2026-05-30 10:14:11'
2026-05-30 10:14:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 14, 11, 962463, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16664, 'low': 1.16651, 'close': 1.16651, 'volume': 2.0} | asctime='2026-05-30 10:14:11'
2026-05-30 10:14:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 14, 12, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 10:14:11'
2026-05-30 10:14:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 14, 14, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 10:14:13'
2026-05-30 10:15:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 15, 54, 782190, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16513, 'low': 1.16511, 'close': 1.16511, 'volume': 2.0} | asctime='2026-05-30 10:15:54'
2026-05-30 10:15:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 15, 54, 788741, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16643, 'close': 1.16643, 'volume': 2.0} | asctime='2026-05-30 10:15:54'
2026-05-30 10:15:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 15, 54, 789334, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1653, 'high': 1.16557, 'low': 1.16491, 'close': 1.16511, 'volume': 15.0} | asctime='2026-05-30 10:15:54'
2026-05-30 10:15:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 15, 54, 789784, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16662, 'high': 1.16695, 'low': 1.16633, 'close': 1.16643, 'volume': 15.0} | asctime='2026-05-30 10:15:54'
2026-05-30 10:15:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 15, 54, 790243, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16529, 'high': 1.16561, 'low': 1.16474, 'close': 1.16511, 'volume': 66.0} | asctime='2026-05-30 10:15:54'
2026-05-30 10:15:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 15, 54, 790629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16661, 'high': 1.16695, 'low': 1.16613, 'close': 1.16643, 'volume': 66.0} | asctime='2026-05-30 10:15:54'
2026-05-30 10:15:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 15, 54, 856000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:15:54'
2026-05-30 10:15:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 15, 56, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 10:15:55'
2026-05-30 10:15:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 15, 57, 708000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 10:15:57'
2026-05-30 10:16:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 16, 15, 992820, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16543, 'low': 1.16519, 'close': 1.16543, 'volume': 3.0} | asctime='2026-05-30 10:16:15'
2026-05-30 10:16:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 16, 15, 993857, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16658, 'low': 1.16633, 'close': 1.16633, 'volume': 3.0} | asctime='2026-05-30 10:16:15'
2026-05-30 10:16:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 16, 16, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:16:15'
2026-05-30 10:18:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 18, 33, 610850, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 10:18:33'
2026-05-30 10:18:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 18, 33, 618764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 10:18:33'
2026-05-30 10:18:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 18, 33, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 10:18:33'
2026-05-30 10:18:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 18, 34, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 10:18:34'
2026-05-30 10:18:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 18, 38, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 10:18:38'
2026-05-30 10:18:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 18, 40, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 10:18:40'
2026-05-30 10:18:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 18, 46, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 10:18:46'
2026-05-30 10:19:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 1, 573523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16562, 'low': 1.16534, 'close': 1.16562, 'volume': 5.0} | asctime='2026-05-30 10:19:01'
2026-05-30 10:19:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 1, 574236, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16667, 'low': 1.16634, 'close': 1.16652, 'volume': 5.0} | asctime='2026-05-30 10:19:01'
2026-05-30 10:19:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 1, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 10:19:01'
2026-05-30 10:19:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 4, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 10:19:04'
2026-05-30 10:19:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 18, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 10:19:18'
2026-05-30 10:19:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 36, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 10:19:36'
2026-05-30 10:19:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 37, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 10:19:37'
2026-05-30 10:19:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 38, 429000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 10:19:38'
2026-05-30 10:19:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 39, 794000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 10:19:39'
2026-05-30 10:19:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 41, 657000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 10:19:41'
2026-05-30 10:19:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 44, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 10:19:44'
2026-05-30 10:19:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 46, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 10:19:46'
2026-05-30 10:19:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 50, 470000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 10:19:50'
2026-05-30 10:19:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 50, 718000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 10:19:50'
2026-05-30 10:19:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 54, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 10:19:54'
2026-05-30 10:19:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 55, 187000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 10:19:55'
2026-05-30 10:19:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 19, 57, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 10:19:57'
2026-05-30 10:20:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 20, 53, 78769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16562, 'low': 1.1651, 'close': 1.16529, 'volume': 15.0} | asctime='2026-05-30 10:20:53'
2026-05-30 10:20:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 20, 53, 80460, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16674, 'high': 1.16674, 'low': 1.16619, 'close': 1.16619, 'volume': 15.0} | asctime='2026-05-30 10:20:53'
2026-05-30 10:20:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 20, 53, 81483, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16519, 'high': 1.16562, 'low': 1.1651, 'close': 1.16529, 'volume': 24.0} | asctime='2026-05-30 10:20:53'
2026-05-30 10:20:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 20, 53, 82332, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16651, 'high': 1.16674, 'low': 1.16619, 'close': 1.16619, 'volume': 24.0} | asctime='2026-05-30 10:20:53'
2026-05-30 10:20:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 20, 53, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 10:20:53'
2026-05-30 10:20:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 20, 53, 410000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 10:20:53'
2026-05-30 10:20:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 20, 54, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:20:54'
2026-05-30 10:21:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 21, 5, 384500, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16539, 'low': 1.16502, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 10:21:05'
2026-05-30 10:21:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 21, 5, 385637, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16658, 'low': 1.16629, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 10:21:05'
2026-05-30 10:21:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 21, 5, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 10:21:05'
2026-05-30 10:21:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 21, 16, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:21:16'
2026-05-30 10:22:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 22, 14, 718179, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16519, 'low': 1.16498, 'close': 1.16519, 'volume': 2.0} | asctime='2026-05-30 10:22:14'
2026-05-30 10:22:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 22, 14, 719938, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16651, 'close': 1.16651, 'volume': 2.0} | asctime='2026-05-30 10:22:14'
2026-05-30 10:22:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 22, 14, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 10:22:14'
2026-05-30 10:22:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 22, 15, 838000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 10:22:15'
2026-05-30 10:22:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 22, 16, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 10:22:16'
2026-05-30 10:22:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 22, 18, 942000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:22:19'
2026-05-30 10:22:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 22, 19, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 10:22:19'
2026-05-30 10:23:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 23, 38, 234380, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16541, 'low': 1.16498, 'close': 1.16541, 'volume': 5.0} | asctime='2026-05-30 10:23:38'
2026-05-30 10:23:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 23, 38, 235564, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16659, 'low': 1.16631, 'close': 1.16631, 'volume': 5.0} | asctime='2026-05-30 10:23:38'
2026-05-30 10:23:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 23, 38, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:23:38'
2026-05-30 10:24:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 10, 22787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 10:24:10'
2026-05-30 10:24:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 10, 23680, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 10:24:10'
2026-05-30 10:24:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 9, 925000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 10:24:10'
2026-05-30 10:24:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 12, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 10:24:12'
2026-05-30 10:24:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 18, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 10:24:18'
2026-05-30 10:24:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 18, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 10:24:19'
2026-05-30 10:24:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 24, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 10:24:24'
2026-05-30 10:24:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 56, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 10:24:56'
2026-05-30 10:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 57, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 10:24:57'
2026-05-30 10:24:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 58, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:24:58'
2026-05-30 10:24:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 58, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 10:24:58'
2026-05-30 10:24:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 59, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 10:24:59'
2026-05-30 10:25:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 24, 59, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 10:25:00'
2026-05-30 10:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 0, 671989, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16554, 'low': 1.16501, 'close': 1.16508, 'volume': 11.0} | asctime='2026-05-30 10:25:00'
2026-05-30 10:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 0, 674576, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16666, 'low': 1.16628, 'close': 1.16664, 'volume': 11.0} | asctime='2026-05-30 10:25:00'
2026-05-30 10:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 0, 679043, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16505, 'high': 1.16554, 'low': 1.16498, 'close': 1.16508, 'volume': 22.0} | asctime='2026-05-30 10:25:00'
2026-05-30 10:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 0, 680461, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16637, 'high': 1.16666, 'low': 1.16628, 'close': 1.16664, 'volume': 22.0} | asctime='2026-05-30 10:25:00'
2026-05-30 10:25:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 0, 572000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 10:25:00'
2026-05-30 10:25:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 1, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 10:25:01'
2026-05-30 10:25:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 3, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 10:25:03'
2026-05-30 10:25:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 7, 28000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 10:25:07'
2026-05-30 10:25:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 7, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 10:25:07'
2026-05-30 10:25:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 25, 8, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 10:25:08'
2026-05-30 10:26:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 26, 48, 421349, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16536, 'low': 1.16491, 'close': 1.16518, 'volume': 6.0} | asctime='2026-05-30 10:26:48'
2026-05-30 10:26:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 26, 48, 422623, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16671, 'low': 1.16608, 'close': 1.16608, 'volume': 6.0} | asctime='2026-05-30 10:26:48'
2026-05-30 10:26:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 26, 48, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 10:26:48'
2026-05-30 10:26:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 26, 50, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 10:26:50'
2026-05-30 10:26:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 26, 52, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 10:26:52'
2026-05-30 10:27:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 27, 18, 221014, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16506, 'low': 1.16495, 'close': 1.16495, 'volume': 3.0} | asctime='2026-05-30 10:27:18'
2026-05-30 10:27:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 27, 18, 222137, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16651, 'close': 1.16651, 'volume': 3.0} | asctime='2026-05-30 10:27:18'
2026-05-30 10:27:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 27, 18, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 10:27:18'
2026-05-30 10:27:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 27, 22, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:27:22'
2026-05-30 10:27:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 27, 42, 948000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 10:27:43'
2026-05-30 10:27:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 27, 44, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 10:27:44'
2026-05-30 10:27:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 27, 45, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 10:27:45'
2026-05-30 10:27:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 27, 46, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 10:27:46'
2026-05-30 10:28:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 10, 621029, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16497, 'close': 1.16507, 'volume': 6.0} | asctime='2026-05-30 10:28:10'
2026-05-30 10:28:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 10, 622008, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16655, 'low': 1.16629, 'close': 1.16639, 'volume': 6.0} | asctime='2026-05-30 10:28:10'
2026-05-30 10:28:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 10, 507000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 10:28:10'
2026-05-30 10:28:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 10, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 10:28:10'
2026-05-30 10:28:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 14, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:28:14'
2026-05-30 10:28:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 19, 568000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 10:28:19'
2026-05-30 10:28:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 21, 182000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 10:28:21'
2026-05-30 10:28:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 21, 305000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 10:28:21'
2026-05-30 10:28:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 22, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 10:28:22'
2026-05-30 10:28:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 24, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:28:24'
2026-05-30 10:28:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 26, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 10:28:26'
2026-05-30 10:28:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 32, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 10:28:32'
2026-05-30 10:28:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 34, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:28:34'
2026-05-30 10:28:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 28, 36, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 10:28:36'
2026-05-30 10:29:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 29, 6, 74281, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16495, 'high': 1.16557, 'low': 1.16495, 'close': 1.16557, 'volume': 12.0} | asctime='2026-05-30 10:29:06'
2026-05-30 10:29:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 29, 6, 75549, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16659, 'low': 1.16627, 'close': 1.16647, 'volume': 12.0} | asctime='2026-05-30 10:29:06'
2026-05-30 10:29:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 29, 5, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 10:29:06'
2026-05-30 10:29:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 29, 8, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 10:29:08'
2026-05-30 10:29:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 29, 16, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:29:16'
2026-05-30 10:29:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 29, 52, 922000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 10:29:53'
2026-05-30 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 2, 746048, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16539, 'low': 1.1651, 'close': 1.1651, 'volume': 4.0} | asctime='2026-05-30 10:30:02'
2026-05-30 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 2, 747270, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16671, 'high': 1.16671, 'low': 1.16629, 'close': 1.16642, 'volume': 4.0} | asctime='2026-05-30 10:30:02'
2026-05-30 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 2, 748669, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16505, 'high': 1.16557, 'low': 1.16491, 'close': 1.1651, 'volume': 31.0} | asctime='2026-05-30 10:30:02'
2026-05-30 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 2, 749672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16637, 'high': 1.16671, 'low': 1.16608, 'close': 1.16642, 'volume': 31.0} | asctime='2026-05-30 10:30:02'
2026-05-30 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 2, 752031, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16519, 'high': 1.16562, 'low': 1.16491, 'close': 1.1651, 'volume': 77.0} | asctime='2026-05-30 10:30:02'
2026-05-30 10:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 2, 760263, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16651, 'high': 1.16674, 'low': 1.16608, 'close': 1.16642, 'volume': 77.0} | asctime='2026-05-30 10:30:02'
2026-05-30 10:30:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 2, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 10:30:02'
2026-05-30 10:30:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 17, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 10:30:17'
2026-05-30 10:30:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 18, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:30:18'
2026-05-30 10:30:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 22, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16613, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 10:30:23'
2026-05-30 10:30:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 24, 950000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 10:30:25'
2026-05-30 10:30:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 25, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 10:30:25'
2026-05-30 10:30:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 26, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 10:30:26'
2026-05-30 10:30:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 28, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 10:30:28'
2026-05-30 10:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 30, 40, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 10:30:40'
2026-05-30 10:31:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 31, 29, 468060, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16536, 'low': 1.16503, 'close': 1.16536, 'volume': 9.0} | asctime='2026-05-30 10:31:29'
2026-05-30 10:31:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 31, 29, 468797, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16661, 'low': 1.16609, 'close': 1.16626, 'volume': 9.0} | asctime='2026-05-30 10:31:29'
2026-05-30 10:31:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 31, 29, 380000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 10:31:29'
2026-05-30 10:31:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 31, 29, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 10:31:29'
2026-05-30 10:31:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 31, 30, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 10:31:30'
2026-05-30 10:31:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 31, 35, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 10:31:35'
2026-05-30 10:31:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 31, 48, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:31:48'
2026-05-30 10:33:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 33, 30, 617601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16539, 'low': 1.16509, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 10:33:30'
2026-05-30 10:33:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 33, 30, 619266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16611, 'close': 1.16629, 'volume': 5.0} | asctime='2026-05-30 10:33:30'
2026-05-30 10:33:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 33, 30, 541000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 10:33:30'
2026-05-30 10:33:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 33, 32, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 10:33:32'
2026-05-30 10:33:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 33, 39, 726000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 10:33:39'
2026-05-30 10:33:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 33, 40, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 10:33:40'
2026-05-30 10:33:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 33, 46, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 10:33:46'
2026-05-30 10:34:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 34, 7, 517916, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16532, 'low': 1.16506, 'close': 1.16532, 'volume': 5.0} | asctime='2026-05-30 10:34:07'
2026-05-30 10:34:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 34, 7, 518990, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.1665, 'low': 1.16622, 'close': 1.16622, 'volume': 5.0} | asctime='2026-05-30 10:34:07'
2026-05-30 10:34:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 34, 7, 412000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 10:34:07'
2026-05-30 10:34:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 34, 8, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:34:08'
2026-05-30 10:34:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 34, 37, 451000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:34:37'
2026-05-30 10:34:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 34, 43, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 10:34:43'
2026-05-30 10:34:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 34, 45, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 10:34:45'
2026-05-30 10:36:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 36, 40, 316023, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16543, 'low': 1.16527, 'close': 1.16543, 'volume': 5.0} | asctime='2026-05-30 10:36:40'
2026-05-30 10:36:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 36, 40, 317177, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16661, 'low': 1.16626, 'close': 1.16633, 'volume': 5.0} | asctime='2026-05-30 10:36:40'
2026-05-30 10:36:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 36, 40, 318182, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16508, 'high': 1.16543, 'low': 1.16503, 'close': 1.16543, 'volume': 24.0} | asctime='2026-05-30 10:36:40'
2026-05-30 10:36:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 36, 40, 318750, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1664, 'high': 1.16661, 'low': 1.16609, 'close': 1.16633, 'volume': 24.0} | asctime='2026-05-30 10:36:40'
2026-05-30 10:36:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 36, 40, 225000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 10:36:40'
2026-05-30 10:36:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 36, 42, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:36:42'
2026-05-30 10:37:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 37, 6, 614923, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.16539, 'low': 1.1653, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 10:37:06'
2026-05-30 10:37:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 37, 6, 615669, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16629, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 10:37:06'
2026-05-30 10:37:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 37, 6, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 10:37:06'
2026-05-30 10:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 37, 10, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:37:10'
2026-05-30 10:37:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 37, 20, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 10:37:20'
2026-05-30 10:37:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 37, 22, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 10:37:22'
2026-05-30 10:39:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 10, 664014, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16562, 'low': 1.16527, 'close': 1.16562, 'volume': 4.0} | asctime='2026-05-30 10:39:10'
2026-05-30 10:39:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 10, 665603, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16659, 'low': 1.16632, 'close': 1.16632, 'volume': 4.0} | asctime='2026-05-30 10:39:10'
2026-05-30 10:39:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 10, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 10:39:10'
2026-05-30 10:39:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 37, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:39:37'
2026-05-30 10:39:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 42, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 10:39:42'
2026-05-30 10:39:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 43, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 10:39:43'
2026-05-30 10:39:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 44, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 10:39:44'
2026-05-30 10:39:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 48, 793000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 10:39:48'
2026-05-30 10:39:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 56, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 10:39:56'
2026-05-30 10:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 57, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:39:57'
2026-05-30 10:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 39, 58, 228000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 10:39:58'
2026-05-30 10:40:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 2, 313199, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16495, 'close': 1.16525, 'volume': 9.0} | asctime='2026-05-30 10:40:02'
2026-05-30 10:40:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 2, 314138, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16655, 'low': 1.16615, 'close': 1.16615, 'volume': 9.0} | asctime='2026-05-30 10:40:02'
2026-05-30 10:40:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 2, 314683, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1653, 'high': 1.16562, 'low': 1.16495, 'close': 1.16525, 'volume': 15.0} | asctime='2026-05-30 10:40:02'
2026-05-30 10:40:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 2, 315159, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16615, 'close': 1.16615, 'volume': 15.0} | asctime='2026-05-30 10:40:02'
2026-05-30 10:40:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 2, 201000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:40:02'
2026-05-30 10:40:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 2, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 10:40:02'
2026-05-30 10:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 3, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 10:40:03'
2026-05-30 10:40:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 4, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 10:40:04'
2026-05-30 10:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 22, 312000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 10:40:22'
2026-05-30 10:40:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 24, 422000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 10:40:24'
2026-05-30 10:40:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 27, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 10:40:27'
2026-05-30 10:40:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 40, 31, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 10:40:31'
2026-05-30 10:42:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 42, 5, 212609, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16545, 'low': 1.16505, 'close': 1.16545, 'volume': 8.0} | asctime='2026-05-30 10:42:05'
2026-05-30 10:42:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 42, 5, 214854, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16617, 'high': 1.16661, 'low': 1.16617, 'close': 1.16635, 'volume': 8.0} | asctime='2026-05-30 10:42:05'
2026-05-30 10:42:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 42, 5, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 10:42:05'
2026-05-30 10:42:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 42, 12, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 10:42:12'
2026-05-30 10:42:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 42, 13, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 10:42:13'
2026-05-30 10:42:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 42, 35, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 10:42:35'
2026-05-30 10:42:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 42, 53, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 10:42:53'
2026-05-30 10:44:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 44, 3, 111414, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.1655, 'low': 1.16536, 'close': 1.16543, 'volume': 5.0} | asctime='2026-05-30 10:44:03'
2026-05-30 10:44:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 44, 3, 112401, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.1664, 'low': 1.16626, 'close': 1.16633, 'volume': 5.0} | asctime='2026-05-30 10:44:03'
2026-05-30 10:44:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 44, 3, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:44:03'
2026-05-30 10:44:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 44, 34, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 10:44:34'
2026-05-30 10:44:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 44, 34, 686000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 10:44:34'
2026-05-30 10:44:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 44, 35, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 10:44:35'
2026-05-30 10:44:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 44, 36, 796000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 10:44:36'
2026-05-30 10:44:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 44, 37, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 10:44:37'
2026-05-30 10:44:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 44, 38, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 10:44:38'
2026-05-30 10:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 20, 710497, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16498, 'close': 1.16505, 'volume': 7.0} | asctime='2026-05-30 10:45:20'
2026-05-30 10:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 20, 711362, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16662, 'low': 1.16628, 'close': 1.16637, 'volume': 7.0} | asctime='2026-05-30 10:45:20'
2026-05-30 10:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 20, 712990, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16527, 'high': 1.1655, 'low': 1.16498, 'close': 1.16505, 'volume': 20.0} | asctime='2026-05-30 10:45:20'
2026-05-30 10:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 20, 714320, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16617, 'high': 1.16662, 'low': 1.16617, 'close': 1.16637, 'volume': 20.0} | asctime='2026-05-30 10:45:20'
2026-05-30 10:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 20, 715464, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16508, 'high': 1.16562, 'low': 1.16495, 'close': 1.16505, 'volume': 59.0} | asctime='2026-05-30 10:45:20'
2026-05-30 10:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 20, 716471, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1664, 'high': 1.16662, 'low': 1.16609, 'close': 1.16637, 'volume': 59.0} | asctime='2026-05-30 10:45:20'
2026-05-30 10:45:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 20, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 10:45:20'
2026-05-30 10:45:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 23, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 10:45:23'
2026-05-30 10:45:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 25, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 10:45:25'
2026-05-30 10:45:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 34, 522000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 10:45:34'
2026-05-30 10:45:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 35, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 10:45:35'
2026-05-30 10:45:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 56, 247000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 10:45:56'
2026-05-30 10:45:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 45, 59, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 10:45:59'
2026-05-30 10:46:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 46, 5, 159325, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16543, 'low': 1.16495, 'close': 1.1651, 'volume': 7.0} | asctime='2026-05-30 10:46:05'
2026-05-30 10:46:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 46, 5, 160255, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16652, 'low': 1.16633, 'close': 1.16642, 'volume': 7.0} | asctime='2026-05-30 10:46:05'
2026-05-30 10:46:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 46, 5, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 10:46:05'
2026-05-30 10:48:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 48, 27, 158199, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16522, 'low': 1.16522, 'close': 1.16522, 'volume': 1.0} | asctime='2026-05-30 10:48:27'
2026-05-30 10:48:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 48, 27, 159005, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16612, 'high': 1.16612, 'low': 1.16612, 'close': 1.16612, 'volume': 1.0} | asctime='2026-05-30 10:48:27'
2026-05-30 10:48:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 48, 27, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 10:48:27'
2026-05-30 10:48:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 48, 33, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 10:48:33'
2026-05-30 10:48:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 48, 37, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 10:48:37'
2026-05-30 10:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 50, 3, 257207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16524, 'low': 1.16498, 'close': 1.16524, 'volume': 3.0} | asctime='2026-05-30 10:50:03'
2026-05-30 10:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 50, 3, 259189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16662, 'low': 1.16654, 'close': 1.16656, 'volume': 3.0} | asctime='2026-05-30 10:50:03'
2026-05-30 10:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 50, 3, 260502, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16513, 'high': 1.16543, 'low': 1.16495, 'close': 1.16524, 'volume': 11.0} | asctime='2026-05-30 10:50:03'
2026-05-30 10:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 50, 3, 261645, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16645, 'high': 1.16662, 'low': 1.16612, 'close': 1.16656, 'volume': 11.0} | asctime='2026-05-30 10:50:03'
2026-05-30 10:50:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 50, 3, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:50:03'
2026-05-30 10:50:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 50, 59, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 10:50:59'
2026-05-30 10:51:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 51, 1, 206759, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16542, 'low': 1.16519, 'close': 1.16542, 'volume': 2.0} | asctime='2026-05-30 10:51:01'
2026-05-30 10:51:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 51, 1, 207774, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16651, 'low': 1.16632, 'close': 1.16632, 'volume': 2.0} | asctime='2026-05-30 10:51:01'
2026-05-30 10:51:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 51, 1, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:51:01'
2026-05-30 10:51:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 51, 3, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 10:51:03'
2026-05-30 10:52:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 52, 17, 555743, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16542, 'low': 1.16539, 'close': 1.16542, 'volume': 2.0} | asctime='2026-05-30 10:52:17'
2026-05-30 10:52:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 52, 17, 556563, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16632, 'low': 1.16629, 'close': 1.16632, 'volume': 2.0} | asctime='2026-05-30 10:52:17'
2026-05-30 10:52:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 52, 17, 487000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:52:17'
2026-05-30 10:52:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 52, 27, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 10:52:27'
2026-05-30 10:52:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 52, 29, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 10:52:29'
2026-05-30 10:53:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 53, 21, 505763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16562, 'low': 1.16527, 'close': 1.16562, 'volume': 3.0} | asctime='2026-05-30 10:53:21'
2026-05-30 10:53:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 53, 21, 507066, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16666, 'low': 1.16652, 'close': 1.16652, 'volume': 3.0} | asctime='2026-05-30 10:53:21'
2026-05-30 10:53:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 53, 21, 412000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:53:21'
2026-05-30 10:53:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 53, 29, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:53:29'
2026-05-30 10:54:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 54, 59, 554001, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16539, 'low': 1.16527, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 10:54:59'
2026-05-30 10:54:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 54, 59, 555426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16659, 'low': 1.16629, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 10:54:59'
2026-05-30 10:54:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 54, 59, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 10:54:59'
2026-05-30 10:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 55, 1, 154319, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16525, 'low': 1.16525, 'close': 1.16525, 'volume': 1.0} | asctime='2026-05-30 10:55:01'
2026-05-30 10:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 55, 1, 155951, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16657, 'low': 1.16657, 'close': 1.16657, 'volume': 1.0} | asctime='2026-05-30 10:55:01'
2026-05-30 10:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 55, 1, 156486, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16519, 'high': 1.16562, 'low': 1.16519, 'close': 1.16525, 'volume': 10.0} | asctime='2026-05-30 10:55:01'
2026-05-30 10:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 55, 1, 157512, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16651, 'high': 1.16666, 'low': 1.16629, 'close': 1.16657, 'volume': 10.0} | asctime='2026-05-30 10:55:01'
2026-05-30 10:55:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 55, 1, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 10:55:01'
2026-05-30 10:55:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 55, 26, 792000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 10:55:26'
2026-05-30 10:55:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 55, 37, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 10:55:37'
2026-05-30 10:55:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 55, 59, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:55:59'
2026-05-30 10:56:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 56, 19, 3618, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16556, 'high': 1.16556, 'low': 1.16526, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 10:56:19'
2026-05-30 10:56:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 56, 19, 4323, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16658, 'low': 1.16628, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 10:56:19'
2026-05-30 10:56:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 56, 18, 930000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 10:56:19'
2026-05-30 10:56:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 56, 23, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 10:56:23'
2026-05-30 10:56:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 56, 46, 241000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 10:56:46'
2026-05-30 10:56:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 56, 48, 351000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 10:56:48'
2026-05-30 10:56:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 56, 49, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 10:56:49'
2026-05-30 10:56:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 56, 51, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:56:51'
2026-05-30 10:57:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 57, 28, 652627, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16544, 'low': 1.16506, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 10:57:28'
2026-05-30 10:57:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 57, 28, 653733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16668, 'low': 1.16629, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 10:57:28'
2026-05-30 10:57:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 57, 28, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 10:57:28'
2026-05-30 10:57:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 57, 33, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 10:57:33'
2026-05-30 10:57:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 57, 33, 786000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 10:57:33'
2026-05-30 10:57:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 57, 34, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 10:57:34'
2026-05-30 10:57:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 57, 36, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 10:57:36'
2026-05-30 10:59:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 23, 101280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16539, 'low': 1.16505, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 10:59:23'
2026-05-30 10:59:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 23, 102385, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.16663, 'low': 1.16629, 'close': 1.16629, 'volume': 5.0} | asctime='2026-05-30 10:59:23'
2026-05-30 10:59:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 23, 30000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 10:59:23'
2026-05-30 10:59:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 29, 732000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 10:59:29'
2026-05-30 10:59:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 30, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 10:59:30'
2026-05-30 10:59:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 32, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 10:59:32'
2026-05-30 10:59:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 34, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 10:59:34'
2026-05-30 10:59:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 35, 815000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 10:59:35'
2026-05-30 10:59:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 40, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 10:59:40'
2026-05-30 10:59:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 42, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 10:59:42'
2026-05-30 10:59:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 44, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 10:59:44'
2026-05-30 10:59:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 47, 857000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 10:59:47'
2026-05-30 10:59:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 52, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 10:59:52'
2026-05-30 10:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 56, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 10:59:56'
2026-05-30 10:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 56, 794000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 10:59:56'
2026-05-30 10:59:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 57, 291000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 10:59:57'
2026-05-30 10:59:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 57, 663000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 10:59:57'
2026-05-30 10:59:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 10, 59, 58, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 10:59:58'
2026-05-30 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 0, 700951, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16558, 'low': 1.16503, 'close': 1.16552, 'volume': 16.0} | asctime='2026-05-30 11:00:00'
2026-05-30 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 0, 701744, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16671, 'low': 1.16628, 'close': 1.16642, 'volume': 16.0} | asctime='2026-05-30 11:00:00'
2026-05-30 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 0, 702919, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16556, 'high': 1.16558, 'low': 1.16503, 'close': 1.16552, 'volume': 31.0} | asctime='2026-05-30 11:00:00'
2026-05-30 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 0, 703473, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16646, 'high': 1.16671, 'low': 1.16628, 'close': 1.16642, 'volume': 31.0} | asctime='2026-05-30 11:00:00'
2026-05-30 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 0, 703907, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16513, 'high': 1.16562, 'low': 1.16495, 'close': 1.16552, 'volume': 52.0} | asctime='2026-05-30 11:00:00'
2026-05-30 11:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 0, 704375, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16645, 'high': 1.16671, 'low': 1.16612, 'close': 1.16642, 'volume': 52.0} | asctime='2026-05-30 11:00:00'
2026-05-30 11:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 0, 643000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 11:00:00'
2026-05-30 11:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 0, 767000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 11:00:00'
2026-05-30 11:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 4, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 11:00:04'
2026-05-30 11:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 4, 864000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 11:00:04'
2026-05-30 11:00:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 18, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 11:00:18'
2026-05-30 11:00:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 20, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 11:00:20'
2026-05-30 11:00:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 24, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 11:00:24'
2026-05-30 11:00:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 24, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 11:00:25'
2026-05-30 11:00:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 34, 658000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 11:00:34'
2026-05-30 11:00:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 41, 858000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 11:00:41'
2026-05-30 11:00:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 44, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 11:00:44'
2026-05-30 11:00:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 46, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 11:00:46'
2026-05-30 11:00:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 0, 52, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 11:00:52'
2026-05-30 11:01:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 1, 8, 851056, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16547, 'high': 1.16547, 'low': 1.16504, 'close': 1.16513, 'volume': 13.0} | asctime='2026-05-30 11:01:08'
2026-05-30 11:01:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 1, 8, 852567, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16671, 'low': 1.1663, 'close': 1.16645, 'volume': 13.0} | asctime='2026-05-30 11:01:08'
2026-05-30 11:01:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 1, 8, 796000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 11:01:08'
2026-05-30 11:01:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 1, 10, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 11:01:10'
2026-05-30 11:01:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 1, 18, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 11:01:18'
2026-05-30 11:01:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 1, 20, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 11:01:20'
2026-05-30 11:01:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 1, 22, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 11:01:22'
2026-05-30 11:02:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 2, 27, 449792, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16538, 'low': 1.16511, 'close': 1.16538, 'volume': 5.0} | asctime='2026-05-30 11:02:27'
2026-05-30 11:02:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 2, 27, 450727, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16671, 'low': 1.16657, 'close': 1.1667, 'volume': 5.0} | asctime='2026-05-30 11:02:27'
2026-05-30 11:02:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 2, 27, 377000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 11:02:27'
2026-05-30 11:02:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 2, 34, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 11:02:34'
2026-05-30 11:03:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 3, 14, 149247, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16508, 'low': 1.16507, 'close': 1.16507, 'volume': 2.0} | asctime='2026-05-30 11:03:14'
2026-05-30 11:03:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 3, 14, 150300, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16688, 'high': 1.16688, 'low': 1.16663, 'close': 1.16663, 'volume': 2.0} | asctime='2026-05-30 11:03:14'
2026-05-30 11:03:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 3, 14, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 11:03:14'
2026-05-30 11:03:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 3, 44, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 11:03:44'
2026-05-30 11:03:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 3, 46, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 11:03:46'
2026-05-30 11:04:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 4, 52, 698155, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16535, 'low': 1.16519, 'close': 1.16535, 'volume': 3.0} | asctime='2026-05-30 11:04:52'
2026-05-30 11:04:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 4, 52, 698883, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16652, 'low': 1.16625, 'close': 1.16625, 'volume': 3.0} | asctime='2026-05-30 11:04:52'
2026-05-30 11:04:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 4, 52, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 11:04:52'
2026-05-30 11:05:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 5, 3, 97990, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16507, 'low': 1.16507, 'close': 1.16507, 'volume': 1.0} | asctime='2026-05-30 11:05:03'
2026-05-30 11:05:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 5, 3, 98953, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16639, 'low': 1.16639, 'close': 1.16639, 'volume': 1.0} | asctime='2026-05-30 11:05:03'
2026-05-30 11:05:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 5, 3, 100102, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16547, 'high': 1.16547, 'low': 1.16504, 'close': 1.16507, 'volume': 24.0} | asctime='2026-05-30 11:05:03'
2026-05-30 11:05:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 5, 3, 101379, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16637, 'high': 1.16688, 'low': 1.16625, 'close': 1.16639, 'volume': 24.0} | asctime='2026-05-30 11:05:03'
2026-05-30 11:05:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 5, 3, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 11:05:03'
2026-05-30 11:05:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 5, 5, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 11:05:05'
2026-05-30 11:06:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 6, 16, 597687, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16533, 'low': 1.16527, 'close': 1.16527, 'volume': 2.0} | asctime='2026-05-30 11:06:16'
2026-05-30 11:06:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 6, 16, 598630, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16623, 'low': 1.16617, 'close': 1.16617, 'volume': 2.0} | asctime='2026-05-30 11:06:16'
2026-05-30 11:06:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 6, 16, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 11:06:16'
2026-05-30 11:07:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 7, 5, 179712, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16533, 'low': 1.16533, 'close': 1.16533, 'volume': 1.0} | asctime='2026-05-30 11:07:05'
2026-05-30 11:07:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 7, 5, 180455, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16623, 'low': 1.16623, 'close': 1.16623, 'volume': 1.0} | asctime='2026-05-30 11:07:05'
2026-05-30 11:07:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 7, 5, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 11:07:05'
2026-05-30 11:07:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 7, 33, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:07:33'
2026-05-30 11:07:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 7, 56, 471000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 11:07:56'
2026-05-30 11:08:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 8, 15, 146507, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16539, 'low': 1.16507, 'close': 1.16507, 'volume': 3.0} | asctime='2026-05-30 11:08:15'
2026-05-30 11:08:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 8, 15, 147588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16639, 'low': 1.16624, 'close': 1.16639, 'volume': 3.0} | asctime='2026-05-30 11:08:15'
2026-05-30 11:08:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 8, 15, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 11:08:15'
2026-05-30 11:08:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 8, 33, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 11:08:33'
2026-05-30 11:08:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 8, 38, 554000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 11:08:38'
2026-05-30 11:08:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 8, 39, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 11:08:39'
2026-05-30 11:08:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 8, 59, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 11:08:59'
2026-05-30 11:09:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 9, 1, 196802, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16525, 'low': 1.16499, 'close': 1.1651, 'volume': 5.0} | asctime='2026-05-30 11:09:01'
2026-05-30 11:09:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 9, 1, 197811, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16615, 'high': 1.16655, 'low': 1.16615, 'close': 1.16642, 'volume': 5.0} | asctime='2026-05-30 11:09:01'
2026-05-30 11:09:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 9, 1, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:09:01'
2026-05-30 11:09:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 9, 10, 830000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 11:09:10'
2026-05-30 11:09:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 9, 13, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 11:09:13'
2026-05-30 11:10:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 10, 55, 194956, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16507, 'close': 1.1651, 'volume': 3.0} | asctime='2026-05-30 11:10:55'
2026-05-30 11:10:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 10, 55, 195684, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16642, 'low': 1.16629, 'close': 1.16642, 'volume': 3.0} | asctime='2026-05-30 11:10:55'
2026-05-30 11:10:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 10, 55, 196910, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16533, 'high': 1.16539, 'low': 1.16499, 'close': 1.1651, 'volume': 14.0} | asctime='2026-05-30 11:10:55'
2026-05-30 11:10:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 10, 55, 198064, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16623, 'high': 1.16655, 'low': 1.16615, 'close': 1.16642, 'volume': 14.0} | asctime='2026-05-30 11:10:55'
2026-05-30 11:10:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 10, 55, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 11:10:55'
2026-05-30 11:11:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 3, 144714, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16511, 'low': 1.16511, 'close': 1.16511, 'volume': 1.0} | asctime='2026-05-30 11:11:03'
2026-05-30 11:11:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 3, 146386, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16643, 'low': 1.16643, 'close': 1.16643, 'volume': 1.0} | asctime='2026-05-30 11:11:03'
2026-05-30 11:11:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 3, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 11:11:03'
2026-05-30 11:11:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 9, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 11:11:09'
2026-05-30 11:11:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 11, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:11:11'
2026-05-30 11:11:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 20, 555000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 11:11:20'
2026-05-30 11:11:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 21, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 11:11:21'
2026-05-30 11:11:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 36, 446000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 11:11:36'
2026-05-30 11:11:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 41, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 11:11:41'
2026-05-30 11:11:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 50, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 11:11:50'
2026-05-30 11:11:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 11, 51, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 11:11:51'
2026-05-30 11:13:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 13, 24, 543271, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16554, 'low': 1.16511, 'close': 1.16554, 'volume': 9.0} | asctime='2026-05-30 11:13:24'
2026-05-30 11:13:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 13, 24, 544130, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16659, 'low': 1.16629, 'close': 1.16644, 'volume': 9.0} | asctime='2026-05-30 11:13:24'
2026-05-30 11:13:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 13, 24, 448000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 11:13:24'
2026-05-30 11:13:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 13, 35, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 11:13:35'
2026-05-30 11:14:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 6, 242960, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16538, 'low': 1.16525, 'close': 1.16538, 'volume': 2.0} | asctime='2026-05-30 11:14:06'
2026-05-30 11:14:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 6, 243861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16657, 'low': 1.16628, 'close': 1.16628, 'volume': 2.0} | asctime='2026-05-30 11:14:06'
2026-05-30 11:14:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 6, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 11:14:06'
2026-05-30 11:14:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 8, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 11:14:08'
2026-05-30 11:14:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 9, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 11:14:09'
2026-05-30 11:14:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 13, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 11:14:13'
2026-05-30 11:14:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 17, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 11:14:17'
2026-05-30 11:14:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 40, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 11:14:40'
2026-05-30 11:14:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 41, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 11:14:41'
2026-05-30 11:14:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 56, 435000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 11:14:56'
2026-05-30 11:14:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 57, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 11:14:57'
2026-05-30 11:14:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 57, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 11:14:57'
2026-05-30 11:14:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 58, 794000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 11:14:58'
2026-05-30 11:14:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 59, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 11:14:59'
2026-05-30 11:14:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 14, 59, 787000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 11:14:59'
2026-05-30 11:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 0, 242507, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16554, 'low': 1.165, 'close': 1.16511, 'volume': 13.0} | asctime='2026-05-30 11:15:00'
2026-05-30 11:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 0, 244342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.1668, 'low': 1.16611, 'close': 1.16643, 'volume': 13.0} | asctime='2026-05-30 11:15:00'
2026-05-30 11:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 0, 245885, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16511, 'high': 1.16554, 'low': 1.165, 'close': 1.16511, 'volume': 25.0} | asctime='2026-05-30 11:15:00'
2026-05-30 11:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 0, 246606, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16643, 'high': 1.1668, 'low': 1.16611, 'close': 1.16643, 'volume': 25.0} | asctime='2026-05-30 11:15:00'
2026-05-30 11:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 0, 248110, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16547, 'high': 1.16554, 'low': 1.16499, 'close': 1.16511, 'volume': 63.0} | asctime='2026-05-30 11:15:00'
2026-05-30 11:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 0, 249331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16637, 'high': 1.16688, 'low': 1.16611, 'close': 1.16643, 'volume': 63.0} | asctime='2026-05-30 11:15:00'
2026-05-30 11:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 0, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 11:15:00'
2026-05-30 11:15:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 2, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 11:15:02'
2026-05-30 11:15:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 5, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 11:15:05'
2026-05-30 11:15:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 9, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 11:15:09'
2026-05-30 11:15:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 19, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 11:15:19'
2026-05-30 11:15:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 15, 46, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 11:15:46'
2026-05-30 11:17:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 4, 240831, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16559, 'low': 1.16515, 'close': 1.16559, 'volume': 6.0} | asctime='2026-05-30 11:17:04'
2026-05-30 11:17:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 4, 245224, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16678, 'low': 1.16629, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 11:17:04'
2026-05-30 11:17:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 4, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 11:17:04'
2026-05-30 11:17:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 4, 297000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 11:17:04'
2026-05-30 11:17:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 5, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 11:17:05'
2026-05-30 11:17:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 6, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 11:17:06'
2026-05-30 11:17:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 8, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 11:17:08'
2026-05-30 11:17:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 32, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 11:17:32'
2026-05-30 11:17:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 48, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:17:48'
2026-05-30 11:17:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 17, 54, 575000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 11:17:54'
2026-05-30 11:18:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 18, 36, 339989, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16539, 'low': 1.16512, 'close': 1.16512, 'volume': 8.0} | asctime='2026-05-30 11:18:36'
2026-05-30 11:18:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 18, 36, 340733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16675, 'high': 1.16677, 'low': 1.16629, 'close': 1.16644, 'volume': 8.0} | asctime='2026-05-30 11:18:36'
2026-05-30 11:18:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 18, 36, 286000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 11:18:36'
2026-05-30 11:18:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 18, 44, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 11:18:44'
2026-05-30 11:18:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 18, 46, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 11:18:46'
2026-05-30 11:18:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 18, 58, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 11:18:58'
2026-05-30 11:19:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 19, 0, 189752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16532, 'low': 1.16514, 'close': 1.16514, 'volume': 4.0} | asctime='2026-05-30 11:19:00'
2026-05-30 11:19:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 19, 0, 190857, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.16674, 'low': 1.16664, 'close': 1.1667, 'volume': 4.0} | asctime='2026-05-30 11:19:00'
2026-05-30 11:19:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 19, 0, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 11:19:00'
2026-05-30 11:20:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 20, 15, 889489, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16533, 'low': 1.16533, 'close': 1.16533, 'volume': 1.0} | asctime='2026-05-30 11:20:15'
2026-05-30 11:20:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 20, 15, 890395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16623, 'low': 1.16623, 'close': 1.16623, 'volume': 1.0} | asctime='2026-05-30 11:20:15'
2026-05-30 11:20:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 20, 15, 892198, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16515, 'high': 1.16559, 'low': 1.16512, 'close': 1.16533, 'volume': 19.0} | asctime='2026-05-30 11:20:15'
2026-05-30 11:20:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 20, 15, 893599, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16647, 'high': 1.16678, 'low': 1.16623, 'close': 1.16623, 'volume': 19.0} | asctime='2026-05-30 11:20:15'
2026-05-30 11:20:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 20, 15, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 11:20:15'
2026-05-30 11:20:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 20, 16, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 11:20:16'
2026-05-30 11:20:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 20, 18, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 11:20:18'
2026-05-30 11:20:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 20, 22, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:20:22'
2026-05-30 11:22:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 22, 28, 637770, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16501, 'high': 1.16539, 'low': 1.16501, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 11:22:28'
2026-05-30 11:22:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 22, 28, 638696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16657, 'low': 1.16629, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 11:22:28'
2026-05-30 11:22:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 22, 28, 551000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 11:22:28'
2026-05-30 11:22:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 22, 38, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 11:22:38'
2026-05-30 11:22:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 22, 46, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 11:22:46'
2026-05-30 11:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 22, 52, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:22:52'
2026-05-30 11:24:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 3, 97174, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16539, 'low': 1.16512, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 11:24:03'
2026-05-30 11:24:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 3, 99043, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16647, 'low': 1.16616, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 11:24:03'
2026-05-30 11:24:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 3, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 11:24:03'
2026-05-30 11:24:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 16, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 11:24:16'
2026-05-30 11:24:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 25, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 11:24:25'
2026-05-30 11:24:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 26, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 11:24:26'
2026-05-30 11:24:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 28, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 11:24:28'
2026-05-30 11:24:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 53, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 11:24:53'
2026-05-30 11:24:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 54, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 11:24:54'
2026-05-30 11:24:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 56, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 11:24:56'
2026-05-30 11:24:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 56, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 11:24:56'
2026-05-30 11:24:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 24, 58, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 11:24:58'
2026-05-30 11:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 2, 185962, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16536, 'low': 1.16502, 'close': 1.16529, 'volume': 10.0} | asctime='2026-05-30 11:25:02'
2026-05-30 11:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 2, 186803, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16682, 'low': 1.16617, 'close': 1.16661, 'volume': 10.0} | asctime='2026-05-30 11:25:02'
2026-05-30 11:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 2, 188283, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16501, 'high': 1.16539, 'low': 1.16501, 'close': 1.16529, 'volume': 18.0} | asctime='2026-05-30 11:25:02'
2026-05-30 11:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 2, 189412, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16657, 'high': 1.16682, 'low': 1.16616, 'close': 1.16661, 'volume': 18.0} | asctime='2026-05-30 11:25:02'
2026-05-30 11:25:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 2, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 11:25:02'
2026-05-30 11:25:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 4, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 11:25:04'
2026-05-30 11:25:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 4, 843000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 11:25:04'
2026-05-30 11:25:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 6, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 11:25:06'
2026-05-30 11:25:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 14, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 11:25:14'
2026-05-30 11:25:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 30, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 11:25:30'
2026-05-30 11:25:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 32, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 11:25:32'
2026-05-30 11:25:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 25, 42, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 11:25:42'
2026-05-30 11:26:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 26, 55, 534323, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.16561, 'low': 1.16526, 'close': 1.16556, 'volume': 8.0} | asctime='2026-05-30 11:26:55'
2026-05-30 11:26:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 26, 55, 535279, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16646, 'close': 1.16646, 'volume': 8.0} | asctime='2026-05-30 11:26:55'
2026-05-30 11:26:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 26, 55, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 11:26:55'
2026-05-30 11:27:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 27, 23, 584434, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.1653, 'low': 1.1653, 'close': 1.1653, 'volume': 1.0} | asctime='2026-05-30 11:27:23'
2026-05-30 11:27:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 27, 23, 586406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16662, 'close': 1.16662, 'volume': 1.0} | asctime='2026-05-30 11:27:23'
2026-05-30 11:27:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 27, 23, 508000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 11:27:23'
2026-05-30 11:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 27, 28, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 11:27:28'
2026-05-30 11:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 27, 28, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:27:28'
2026-05-30 11:28:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 28, 3, 184245, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16539, 'low': 1.16528, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 11:28:03'
2026-05-30 11:28:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 28, 3, 185418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1666, 'low': 1.16627, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 11:28:03'
2026-05-30 11:28:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 28, 3, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 11:28:03'
2026-05-30 11:28:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 28, 4, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 11:28:04'
2026-05-30 11:29:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 25, 583185, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16544, 'low': 1.16541, 'close': 1.16544, 'volume': 2.0} | asctime='2026-05-30 11:29:25'
2026-05-30 11:29:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 25, 584308, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16634, 'low': 1.16631, 'close': 1.16634, 'volume': 2.0} | asctime='2026-05-30 11:29:25'
2026-05-30 11:29:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 25, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 11:29:25'
2026-05-30 11:29:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 37, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 11:29:37'
2026-05-30 11:29:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 37, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 11:29:37'
2026-05-30 11:29:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 39, 440000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 11:29:39'
2026-05-30 11:29:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 40, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 11:29:40'
2026-05-30 11:29:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 48, 502000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 11:29:48'
2026-05-30 11:29:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 48, 750000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16467, 'volume': 0.0} | asctime='2026-05-30 11:29:48'
2026-05-30 11:29:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 56, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 11:29:56'
2026-05-30 11:29:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 56, 198000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 11:29:56'
2026-05-30 11:29:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 56, 571000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 11:29:56'
2026-05-30 11:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 29, 58, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 11:29:58'
2026-05-30 11:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 30, 1, 376474, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16545, 'low': 1.16467, 'close': 1.16545, 'volume': 11.0} | asctime='2026-05-30 11:30:01'
2026-05-30 11:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 30, 1, 377487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16695, 'low': 1.1662, 'close': 1.16635, 'volume': 11.0} | asctime='2026-05-30 11:30:01'
2026-05-30 11:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 30, 1, 378503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1653, 'high': 1.16561, 'low': 1.16467, 'close': 1.16545, 'volume': 25.0} | asctime='2026-05-30 11:30:01'
2026-05-30 11:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 30, 1, 379865, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16662, 'high': 1.16695, 'low': 1.1662, 'close': 1.16635, 'volume': 25.0} | asctime='2026-05-30 11:30:01'
2026-05-30 11:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 30, 1, 381044, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16515, 'high': 1.16561, 'low': 1.16467, 'close': 1.16545, 'volume': 62.0} | asctime='2026-05-30 11:30:01'
2026-05-30 11:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 30, 1, 382157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16647, 'high': 1.16695, 'low': 1.16616, 'close': 1.16635, 'volume': 62.0} | asctime='2026-05-30 11:30:01'
2026-05-30 11:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 30, 1, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 11:30:01'
2026-05-30 11:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 30, 1, 288000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 11:30:01'
2026-05-30 11:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 31, 4, 182445, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.1653, 'low': 1.16529, 'close': 1.1653, 'volume': 2.0} | asctime='2026-05-30 11:31:04'
2026-05-30 11:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 31, 4, 183209, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16662, 'low': 1.16661, 'close': 1.16662, 'volume': 2.0} | asctime='2026-05-30 11:31:04'
2026-05-30 11:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 31, 4, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 11:31:04'
2026-05-30 11:31:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 31, 6, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 11:31:06'
2026-05-30 11:32:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 32, 18, 381383, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16557, 'low': 1.16532, 'close': 1.16557, 'volume': 2.0} | asctime='2026-05-30 11:32:18'
2026-05-30 11:32:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 32, 18, 383193, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16664, 'low': 1.16647, 'close': 1.16647, 'volume': 2.0} | asctime='2026-05-30 11:32:18'
2026-05-30 11:32:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 32, 18, 341000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 11:32:18'
2026-05-30 11:32:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 32, 31, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 11:32:31'
2026-05-30 11:32:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 32, 32, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 11:32:32'
2026-05-30 11:32:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 32, 34, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 11:32:34'
2026-05-30 11:32:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 32, 42, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 11:32:42'
2026-05-30 11:33:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 33, 24, 680923, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16538, 'low': 1.16511, 'close': 1.16538, 'volume': 5.0} | asctime='2026-05-30 11:33:24'
2026-05-30 11:33:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 33, 24, 681768, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16667, 'low': 1.16623, 'close': 1.16628, 'volume': 5.0} | asctime='2026-05-30 11:33:24'
2026-05-30 11:33:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 33, 24, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 11:33:24'
2026-05-30 11:33:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 33, 26, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 11:33:26'
2026-05-30 11:34:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 34, 52, 230060, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16538, 'close': 1.16538, 'volume': 2.0} | asctime='2026-05-30 11:34:52'
2026-05-30 11:34:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 34, 52, 231280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16633, 'low': 1.16628, 'close': 1.16628, 'volume': 2.0} | asctime='2026-05-30 11:34:52'
2026-05-30 11:34:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 34, 52, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:34:52'
2026-05-30 11:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 35, 1, 129679, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 11:35:01'
2026-05-30 11:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 35, 1, 131017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 11:35:01'
2026-05-30 11:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 35, 1, 132500, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16529, 'high': 1.16557, 'low': 1.16511, 'close': 1.16539, 'volume': 12.0} | asctime='2026-05-30 11:35:01'
2026-05-30 11:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 35, 1, 133475, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16661, 'high': 1.16667, 'low': 1.16623, 'close': 1.16629, 'volume': 12.0} | asctime='2026-05-30 11:35:01'
2026-05-30 11:35:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 35, 1, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 11:35:01'
2026-05-30 11:35:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 35, 5, 928000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 11:35:05'
2026-05-30 11:35:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 35, 8, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 11:35:08'
2026-05-30 11:35:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 35, 56, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:35:56'
2026-05-30 11:36:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 36, 20, 221299, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.1654, 'low': 1.16525, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 11:36:20'
2026-05-30 11:36:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 36, 20, 222363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16629, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 11:36:20'
2026-05-30 11:36:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 36, 19, 916000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 11:36:20'
2026-05-30 11:36:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 36, 21, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 11:36:21'
2026-05-30 11:36:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 36, 31, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 11:36:31'
2026-05-30 11:37:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 37, 19, 428110, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.1656, 'low': 1.16527, 'close': 1.1656, 'volume': 3.0} | asctime='2026-05-30 11:37:19'
2026-05-30 11:37:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 37, 19, 429115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.1666, 'low': 1.1665, 'close': 1.1665, 'volume': 3.0} | asctime='2026-05-30 11:37:19'
2026-05-30 11:37:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 37, 19, 379000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 11:37:19'
2026-05-30 11:37:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 37, 42, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 11:37:42'
2026-05-30 11:37:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 37, 43, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 11:37:43'
2026-05-30 11:37:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 37, 45, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 11:37:45'
2026-05-30 11:37:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 37, 51, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 11:37:51'
2026-05-30 11:37:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 37, 58, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 11:37:58'
2026-05-30 11:38:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 38, 57, 127323, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16558, 'low': 1.1651, 'close': 1.1651, 'volume': 6.0} | asctime='2026-05-30 11:38:57'
2026-05-30 11:38:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 38, 57, 128988, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.16683, 'low': 1.16648, 'close': 1.16666, 'volume': 6.0} | asctime='2026-05-30 11:38:57'
2026-05-30 11:38:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 38, 57, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 11:38:57'
2026-05-30 11:39:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 39, 12, 876950, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.1651, 'low': 1.1651, 'close': 1.1651, 'volume': 1.0} | asctime='2026-05-30 11:39:12'
2026-05-30 11:39:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 39, 12, 877925, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16642, 'close': 1.16642, 'volume': 1.0} | asctime='2026-05-30 11:39:12'
2026-05-30 11:39:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 39, 12, 843000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 11:39:12'
2026-05-30 11:39:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 39, 15, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 11:39:15'
2026-05-30 11:39:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 39, 27, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 11:39:27'
2026-05-30 11:39:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 39, 36, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 11:39:36'
2026-05-30 11:39:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 39, 37, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 11:39:37'
2026-05-30 11:40:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 40, 13, 128499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16521, 'low': 1.16507, 'close': 1.16521, 'volume': 5.0} | asctime='2026-05-30 11:40:13'
2026-05-30 11:40:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 40, 13, 129543, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16653, 'low': 1.16639, 'close': 1.16653, 'volume': 5.0} | asctime='2026-05-30 11:40:13'
2026-05-30 11:40:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 40, 13, 130233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16526, 'high': 1.1656, 'low': 1.16507, 'close': 1.16521, 'volume': 19.0} | asctime='2026-05-30 11:40:13'
2026-05-30 11:40:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 40, 13, 130790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16683, 'low': 1.16629, 'close': 1.16653, 'volume': 19.0} | asctime='2026-05-30 11:40:13'
2026-05-30 11:40:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 40, 13, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 11:40:13'
2026-05-30 11:40:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 40, 33, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:40:33'
2026-05-30 11:40:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 40, 36, 264000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 11:40:36'
2026-05-30 11:40:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 40, 49, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 11:40:49'
2026-05-30 11:40:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 40, 51, 781000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 11:40:51'
2026-05-30 11:41:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 41, 0, 626326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16552, 'low': 1.16524, 'close': 1.16524, 'volume': 5.0} | asctime='2026-05-30 11:41:00'
2026-05-30 11:41:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 41, 0, 626970, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16659, 'low': 1.16626, 'close': 1.16656, 'volume': 5.0} | asctime='2026-05-30 11:41:00'
2026-05-30 11:41:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 41, 0, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 11:41:00'
2026-05-30 11:41:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 41, 1, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 11:41:01'
2026-05-30 11:41:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 41, 3, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 11:41:03'
2026-05-30 11:43:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 43, 2, 925607, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16552, 'low': 1.16531, 'close': 1.16552, 'volume': 3.0} | asctime='2026-05-30 11:43:02'
2026-05-30 11:43:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 43, 2, 926606, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16669, 'low': 1.16642, 'close': 1.16642, 'volume': 3.0} | asctime='2026-05-30 11:43:02'
2026-05-30 11:43:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 43, 2, 874000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 11:43:02'
2026-05-30 11:43:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 43, 6, 473000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 11:43:06'
2026-05-30 11:43:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 43, 7, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 11:43:07'
2026-05-30 11:43:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 43, 13, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1661, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 11:43:13'
2026-05-30 11:43:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 43, 23, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 11:43:23'
2026-05-30 11:43:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 43, 33, 39000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 11:43:33'
2026-05-30 11:43:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 43, 35, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 11:43:35'
2026-05-30 11:45:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 23, 223674, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.1654, 'low': 1.16504, 'close': 1.1654, 'volume': 7.0} | asctime='2026-05-30 11:45:23'
2026-05-30 11:45:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 23, 228430, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.1666, 'low': 1.1661, 'close': 1.1663, 'volume': 7.0} | asctime='2026-05-30 11:45:23'
2026-05-30 11:45:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 23, 229395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16536, 'high': 1.16552, 'low': 1.16504, 'close': 1.1654, 'volume': 15.0} | asctime='2026-05-30 11:45:23'
2026-05-30 11:45:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 23, 230679, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16626, 'high': 1.16669, 'low': 1.1661, 'close': 1.1663, 'volume': 15.0} | asctime='2026-05-30 11:45:23'
2026-05-30 11:45:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 23, 231649, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16529, 'high': 1.1656, 'low': 1.16504, 'close': 1.1654, 'volume': 46.0} | asctime='2026-05-30 11:45:23'
2026-05-30 11:45:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 23, 232630, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16661, 'high': 1.16683, 'low': 1.1661, 'close': 1.1663, 'volume': 46.0} | asctime='2026-05-30 11:45:23'
2026-05-30 11:45:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 23, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 11:45:23'
2026-05-30 11:45:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 36, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:45:36'
2026-05-30 11:45:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 44, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 11:45:44'
2026-05-30 11:45:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 45, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 11:45:45'
2026-05-30 11:45:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 55, 426000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 11:45:55'
2026-05-30 11:45:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 45, 57, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:45:57'
2026-05-30 11:46:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 46, 2, 923557, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16544, 'low': 1.16539, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 11:46:02'
2026-05-30 11:46:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 46, 2, 924329, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16634, 'low': 1.16629, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 11:46:02'
2026-05-30 11:46:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 46, 2, 875000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 11:46:02'
2026-05-30 11:46:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 46, 3, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 11:46:03'
2026-05-30 11:46:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 46, 15, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 11:46:15'
2026-05-30 11:47:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 47, 54, 171758, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16523, 'low': 1.16502, 'close': 1.16523, 'volume': 3.0} | asctime='2026-05-30 11:47:54'
2026-05-30 11:47:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 47, 54, 173415, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16662, 'low': 1.16655, 'close': 1.16655, 'volume': 3.0} | asctime='2026-05-30 11:47:54'
2026-05-30 11:47:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 47, 54, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 11:47:54'
2026-05-30 11:48:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 48, 0, 721934, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.1652, 'low': 1.1652, 'close': 1.1652, 'volume': 1.0} | asctime='2026-05-30 11:48:00'
2026-05-30 11:48:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 48, 0, 722764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16652, 'low': 1.16652, 'close': 1.16652, 'volume': 1.0} | asctime='2026-05-30 11:48:00'
2026-05-30 11:48:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 48, 0, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 11:48:00'
2026-05-30 11:48:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 48, 0, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 11:48:00'
2026-05-30 11:48:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 48, 0, 931000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 11:48:00'
2026-05-30 11:48:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 48, 1, 925000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 11:48:01'
2026-05-30 11:48:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 48, 3, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:48:03'
2026-05-30 11:50:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 50, 26, 370844, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16539, 'low': 1.16499, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 11:50:26'
2026-05-30 11:50:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 50, 26, 371694, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16629, 'close': 1.16629, 'volume': 5.0} | asctime='2026-05-30 11:50:26'
2026-05-30 11:50:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 50, 26, 372259, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1654, 'high': 1.16544, 'low': 1.16499, 'close': 1.16539, 'volume': 15.0} | asctime='2026-05-30 11:50:26'
2026-05-30 11:50:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 50, 26, 372719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1663, 'high': 1.16662, 'low': 1.16629, 'close': 1.16629, 'volume': 15.0} | asctime='2026-05-30 11:50:26'
2026-05-30 11:50:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 50, 26, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 11:50:26'
2026-05-30 11:50:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 50, 26, 548000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 11:50:26'
2026-05-30 11:50:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 50, 32, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 11:50:32'
2026-05-30 11:50:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 50, 42, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 11:50:42'
2026-05-30 11:51:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 51, 3, 69920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16537, 'low': 1.16504, 'close': 1.16537, 'volume': 4.0} | asctime='2026-05-30 11:51:03'
2026-05-30 11:51:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 51, 3, 70959, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1666, 'low': 1.16627, 'close': 1.16627, 'volume': 4.0} | asctime='2026-05-30 11:51:03'
2026-05-30 11:51:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 51, 3, 44000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:51:03'
2026-05-30 11:51:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 51, 44, 881000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 11:51:44'
2026-05-30 11:51:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 51, 56, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 11:51:56'
2026-05-30 11:52:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 52, 8, 369396, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16499, 'close': 1.16532, 'volume': 3.0} | asctime='2026-05-30 11:52:08'
2026-05-30 11:52:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 52, 8, 370456, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16655, 'low': 1.16622, 'close': 1.16622, 'volume': 3.0} | asctime='2026-05-30 11:52:08'
2026-05-30 11:52:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 52, 8, 342000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 11:52:08'
2026-05-30 11:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 52, 34, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 11:52:34'
2026-05-30 11:53:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 53, 2, 119168, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16518, 'low': 1.16515, 'close': 1.16515, 'volume': 2.0} | asctime='2026-05-30 11:53:02'
2026-05-30 11:53:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 53, 2, 120099, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.1665, 'low': 1.16647, 'close': 1.16647, 'volume': 2.0} | asctime='2026-05-30 11:53:02'
2026-05-30 11:53:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 53, 2, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 11:53:02'
2026-05-30 11:54:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 54, 16, 118287, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16542, 'low': 1.16542, 'close': 1.16542, 'volume': 1.0} | asctime='2026-05-30 11:54:16'
2026-05-30 11:54:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 54, 16, 119016, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16632, 'low': 1.16632, 'close': 1.16632, 'volume': 1.0} | asctime='2026-05-30 11:54:16'
2026-05-30 11:54:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 54, 16, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:54:16'
2026-05-30 11:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 54, 57, 297000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 11:54:57'
2026-05-30 11:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 54, 57, 420000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 11:54:57'
2026-05-30 11:54:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 54, 57, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.1647, 'volume': 0.0} | asctime='2026-05-30 11:54:57'
2026-05-30 11:54:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 54, 58, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 11:54:58'
2026-05-30 11:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 0, 218155, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.1647, 'close': 1.16507, 'volume': 5.0} | asctime='2026-05-30 11:55:00'
2026-05-30 11:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 0, 220081, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16698, 'low': 1.16629, 'close': 1.16663, 'volume': 5.0} | asctime='2026-05-30 11:55:00'
2026-05-30 11:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 0, 221153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16528, 'high': 1.16542, 'low': 1.1647, 'close': 1.16507, 'volume': 15.0} | asctime='2026-05-30 11:55:00'
2026-05-30 11:55:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 0, 222078, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1666, 'high': 1.16698, 'low': 1.16622, 'close': 1.16663, 'volume': 15.0} | asctime='2026-05-30 11:55:00'
2026-05-30 11:55:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 0, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 11:55:00'
2026-05-30 11:55:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 1, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 11:55:01'
2026-05-30 11:55:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 2, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16471, 'volume': 0.0} | asctime='2026-05-30 11:55:02'
2026-05-30 11:55:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 3, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16477, 'volume': 0.0} | asctime='2026-05-30 11:55:03'
2026-05-30 11:55:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 4, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 11:55:04'
2026-05-30 11:55:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 6, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 11:55:06'
2026-05-30 11:55:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 32, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 11:55:32'
2026-05-30 11:55:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 34, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 11:55:34'
2026-05-30 11:55:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 46, 579000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 11:55:46'
2026-05-30 11:55:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 55, 48, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 11:55:48'
2026-05-30 11:57:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 57, 32, 866374, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16533, 'low': 1.16471, 'close': 1.16515, 'volume': 10.0} | asctime='2026-05-30 11:57:32'
2026-05-30 11:57:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 57, 32, 867559, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16699, 'low': 1.16623, 'close': 1.16647, 'volume': 10.0} | asctime='2026-05-30 11:57:32'
2026-05-30 11:57:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 57, 32, 844000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 11:57:32'
2026-05-30 11:57:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 57, 33, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 11:57:33'
2026-05-30 11:57:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 57, 34, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 11:57:34'
2026-05-30 11:57:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 57, 50, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 11:57:50'
2026-05-30 11:58:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 58, 18, 215207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16539, 'low': 1.16511, 'close': 1.16526, 'volume': 4.0} | asctime='2026-05-30 11:58:18'
2026-05-30 11:58:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 58, 18, 216037, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16658, 'low': 1.16629, 'close': 1.16658, 'volume': 4.0} | asctime='2026-05-30 11:58:18'
2026-05-30 11:58:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 11, 58, 18, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 11:58:18'
2026-05-30 12:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 0, 1, 214863, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16555, 'high': 1.16555, 'low': 1.16555, 'close': 1.16555, 'volume': 1.0} | asctime='2026-05-30 12:00:01'
2026-05-30 12:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 0, 1, 216430, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16645, 'close': 1.16645, 'volume': 1.0} | asctime='2026-05-30 12:00:01'
2026-05-30 12:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 0, 1, 218361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16507, 'high': 1.16555, 'low': 1.16471, 'close': 1.16555, 'volume': 15.0} | asctime='2026-05-30 12:00:01'
2026-05-30 12:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 0, 1, 219515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16639, 'high': 1.16699, 'low': 1.16623, 'close': 1.16645, 'volume': 15.0} | asctime='2026-05-30 12:00:01'
2026-05-30 12:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 0, 1, 220783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1654, 'high': 1.16555, 'low': 1.1647, 'close': 1.16555, 'volume': 45.0} | asctime='2026-05-30 12:00:01'
2026-05-30 12:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 0, 1, 221893, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1663, 'high': 1.16699, 'low': 1.16622, 'close': 1.16645, 'volume': 45.0} | asctime='2026-05-30 12:00:01'
2026-05-30 12:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 0, 1, 190000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 12:00:01'
2026-05-30 12:00:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 0, 3, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 12:00:03'
2026-05-30 12:00:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 0, 49, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 12:00:49'
2026-05-30 12:01:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 1, 11, 114348, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16506, 'low': 1.16502, 'close': 1.16503, 'volume': 3.0} | asctime='2026-05-30 12:01:11'
2026-05-30 12:01:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 1, 11, 115156, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16659, 'close': 1.16659, 'volume': 3.0} | asctime='2026-05-30 12:01:11'
2026-05-30 12:01:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 1, 11, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 12:01:11'
2026-05-30 12:01:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 1, 55, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 12:01:55'
2026-05-30 12:01:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 1, 57, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 12:01:57'
2026-05-30 12:02:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 2, 0, 763359, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16513, 'low': 1.16506, 'close': 1.1651, 'volume': 3.0} | asctime='2026-05-30 12:02:00'
2026-05-30 12:02:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 2, 0, 764901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16642, 'close': 1.16642, 'volume': 3.0} | asctime='2026-05-30 12:02:00'
2026-05-30 12:02:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 2, 0, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 12:02:00'
2026-05-30 12:02:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 2, 5, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 12:02:05'
2026-05-30 12:02:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 2, 33, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 12:02:33'
2026-05-30 12:02:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 2, 34, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:02:34'
2026-05-30 12:03:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 3, 34, 113421, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16489, 'high': 1.16518, 'low': 1.16489, 'close': 1.16518, 'volume': 4.0} | asctime='2026-05-30 12:03:34'
2026-05-30 12:03:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 3, 34, 115306, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16651, 'low': 1.16645, 'close': 1.1665, 'volume': 4.0} | asctime='2026-05-30 12:03:34'
2026-05-30 12:03:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 3, 34, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 12:03:34'
2026-05-30 12:03:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 3, 40, 791000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 12:03:40'
2026-05-30 12:03:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 3, 50, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 12:03:50'
2026-05-30 12:04:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 4, 4, 161965, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16512, 'high': 1.16517, 'low': 1.16512, 'close': 1.16516, 'volume': 3.0} | asctime='2026-05-30 12:04:04'
2026-05-30 12:04:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 4, 4, 162886, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16644, 'high': 1.16649, 'low': 1.16644, 'close': 1.16648, 'volume': 3.0} | asctime='2026-05-30 12:04:04'
2026-05-30 12:04:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 4, 4, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 12:04:04'
2026-05-30 12:05:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 5, 3, 111606, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16527, 'low': 1.16527, 'close': 1.16527, 'volume': 1.0} | asctime='2026-05-30 12:05:03'
2026-05-30 12:05:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 5, 3, 112376, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16617, 'high': 1.16617, 'low': 1.16617, 'close': 1.16617, 'volume': 1.0} | asctime='2026-05-30 12:05:03'
2026-05-30 12:05:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 5, 3, 113212, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16502, 'high': 1.16527, 'low': 1.16489, 'close': 1.16527, 'volume': 14.0} | asctime='2026-05-30 12:05:03'
2026-05-30 12:05:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 5, 3, 114249, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16617, 'close': 1.16617, 'volume': 14.0} | asctime='2026-05-30 12:05:03'
2026-05-30 12:05:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 5, 3, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 12:05:03'
2026-05-30 12:05:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 5, 5, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:05:05'
2026-05-30 12:05:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 5, 52, 750000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 12:05:52'
2026-05-30 12:06:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 6, 5, 247598, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16539, 'low': 1.16509, 'close': 1.16528, 'volume': 3.0} | asctime='2026-05-30 12:06:05'
2026-05-30 12:06:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 6, 5, 249425, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.1666, 'low': 1.16629, 'close': 1.1666, 'volume': 3.0} | asctime='2026-05-30 12:06:05'
2026-05-30 12:06:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 6, 5, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 12:06:05'
2026-05-30 12:07:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 7, 33, 110043, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16552, 'high': 1.16552, 'low': 1.16552, 'close': 1.16552, 'volume': 1.0} | asctime='2026-05-30 12:07:33'
2026-05-30 12:07:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 7, 33, 111183, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16642, 'close': 1.16642, 'volume': 1.0} | asctime='2026-05-30 12:07:33'
2026-05-30 12:07:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 7, 33, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 12:07:33'
2026-05-30 12:07:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 7, 35, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 12:07:35'
2026-05-30 12:07:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 7, 37, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:07:37'
2026-05-30 12:08:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 8, 22, 110285, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16539, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 12:08:22'
2026-05-30 12:08:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 8, 22, 111156, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16635, 'low': 1.16629, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 12:08:22'
2026-05-30 12:08:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 8, 22, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 12:08:22'
2026-05-30 12:08:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 8, 35, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 12:08:35'
2026-05-30 12:08:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 8, 51, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 12:08:51'
2026-05-30 12:10:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 10, 3, 58752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.1654, 'close': 1.16541, 'volume': 3.0} | asctime='2026-05-30 12:10:03'
2026-05-30 12:10:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 10, 3, 59523, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16634, 'low': 1.1663, 'close': 1.16631, 'volume': 3.0} | asctime='2026-05-30 12:10:03'
2026-05-30 12:10:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 10, 3, 60046, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16509, 'high': 1.16552, 'low': 1.16509, 'close': 1.16541, 'volume': 10.0} | asctime='2026-05-30 12:10:03'
2026-05-30 12:10:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 10, 3, 60514, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16641, 'high': 1.1666, 'low': 1.16629, 'close': 1.16631, 'volume': 10.0} | asctime='2026-05-30 12:10:03'
2026-05-30 12:10:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 10, 3, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:10:03'
2026-05-30 12:11:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 11, 0, 658610, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 12:11:00'
2026-05-30 12:11:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 11, 0, 660152, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 12:11:00'
2026-05-30 12:11:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 11, 0, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 12:11:00'
2026-05-30 12:11:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 11, 32, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 12:11:32'
2026-05-30 12:12:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 12, 33, 157113, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16537, 'low': 1.16534, 'close': 1.16534, 'volume': 2.0} | asctime='2026-05-30 12:12:33'
2026-05-30 12:12:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 12, 33, 158181, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16627, 'low': 1.16624, 'close': 1.16624, 'volume': 2.0} | asctime='2026-05-30 12:12:33'
2026-05-30 12:12:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 12, 33, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 12:12:33'
2026-05-30 12:12:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 12, 34, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:12:34'
2026-05-30 12:13:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 13, 30, 606444, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16539, 'low': 1.16537, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 12:13:30'
2026-05-30 12:13:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 13, 30, 607495, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16629, 'low': 1.16627, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 12:13:30'
2026-05-30 12:13:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 13, 30, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 12:13:30'
2026-05-30 12:14:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 14, 1, 155894, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16535, 'low': 1.16535, 'close': 1.16535, 'volume': 1.0} | asctime='2026-05-30 12:14:01'
2026-05-30 12:14:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 14, 1, 156855, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16625, 'low': 1.16625, 'close': 1.16625, 'volume': 1.0} | asctime='2026-05-30 12:14:01'
2026-05-30 12:14:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 14, 1, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 12:14:01'
2026-05-30 12:14:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 14, 54, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 12:14:55'
2026-05-30 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 15, 3, 109276, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16536, 'low': 1.16531, 'close': 1.16536, 'volume': 2.0} | asctime='2026-05-30 12:15:03'
2026-05-30 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 15, 3, 110303, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16621, 'high': 1.16626, 'low': 1.16621, 'close': 1.16626, 'volume': 2.0} | asctime='2026-05-30 12:15:03'
2026-05-30 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 15, 3, 111424, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16531, 'close': 1.16536, 'volume': 8.0} | asctime='2026-05-30 12:15:03'
2026-05-30 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 15, 3, 111953, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16621, 'close': 1.16626, 'volume': 8.0} | asctime='2026-05-30 12:15:03'
2026-05-30 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 15, 3, 112419, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16502, 'high': 1.16552, 'low': 1.16489, 'close': 1.16536, 'volume': 32.0} | asctime='2026-05-30 12:15:03'
2026-05-30 12:15:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 15, 3, 112853, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16617, 'close': 1.16626, 'volume': 32.0} | asctime='2026-05-30 12:15:03'
2026-05-30 12:15:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 15, 3, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 12:15:03'
2026-05-30 12:15:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 15, 4, 798000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:15:04'
2026-05-30 12:15:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 15, 5, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 12:15:05'
2026-05-30 12:17:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 17, 25, 4286, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.1654, 'low': 1.1651, 'close': 1.1654, 'volume': 3.0} | asctime='2026-05-30 12:17:25'
2026-05-30 12:17:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 17, 25, 5449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16629, 'close': 1.1663, 'volume': 3.0} | asctime='2026-05-30 12:17:25'
2026-05-30 12:17:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 17, 24, 954000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 12:17:25'
2026-05-30 12:17:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 17, 33, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 12:17:33'
2026-05-30 12:17:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 17, 34, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 12:17:34'
2026-05-30 12:17:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 17, 38, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:17:38'
2026-05-30 12:18:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 18, 14, 754114, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16519, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 12:18:14'
2026-05-30 12:18:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 18, 14, 755181, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16651, 'low': 1.16626, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 12:18:14'
2026-05-30 12:18:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 18, 14, 733000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 12:18:14'
2026-05-30 12:18:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 18, 18, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 12:18:18'
2026-05-30 12:18:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 18, 44, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 12:18:44'
2026-05-30 12:18:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 18, 46, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 12:18:46'
2026-05-30 12:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 19, 3, 902755, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16535, 'low': 1.16514, 'close': 1.16535, 'volume': 4.0} | asctime='2026-05-30 12:19:03'
2026-05-30 12:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 19, 3, 903574, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1667, 'low': 1.16656, 'close': 1.16667, 'volume': 4.0} | asctime='2026-05-30 12:19:03'
2026-05-30 12:19:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 19, 3, 892000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 12:19:03'
2026-05-30 12:19:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 19, 14, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 12:19:14'
2026-05-30 12:20:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 13, 306595, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16563, 'low': 1.16529, 'close': 1.16563, 'volume': 2.0} | asctime='2026-05-30 12:20:13'
2026-05-30 12:20:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 13, 307688, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16653, 'close': 1.16653, 'volume': 2.0} | asctime='2026-05-30 12:20:13'
2026-05-30 12:20:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 13, 308331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1651, 'high': 1.16563, 'low': 1.1651, 'close': 1.16563, 'volume': 13.0} | asctime='2026-05-30 12:20:13'
2026-05-30 12:20:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 13, 308775, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16642, 'high': 1.1667, 'low': 1.16626, 'close': 1.16653, 'volume': 13.0} | asctime='2026-05-30 12:20:13'
2026-05-30 12:20:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 13, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 12:20:13'
2026-05-30 12:20:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 14, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 12:20:14'
2026-05-30 12:20:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 24, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 12:20:24'
2026-05-30 12:20:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 33, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 12:20:33'
2026-05-30 12:20:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 37, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 12:20:38'
2026-05-30 12:20:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 40, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 12:20:40'
2026-05-30 12:20:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 20, 48, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 12:20:48'
2026-05-30 12:21:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 21, 44, 201860, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16552, 'low': 1.16521, 'close': 1.16544, 'volume': 7.0} | asctime='2026-05-30 12:21:44'
2026-05-30 12:21:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 21, 44, 203035, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16684, 'high': 1.16684, 'low': 1.16642, 'close': 1.16676, 'volume': 7.0} | asctime='2026-05-30 12:21:44'
2026-05-30 12:21:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 21, 44, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 12:21:44'
2026-05-30 12:21:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 21, 46, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 12:21:46'
2026-05-30 12:22:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 22, 43, 151294, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16562, 'high': 1.16562, 'low': 1.16561, 'close': 1.16561, 'volume': 2.0} | asctime='2026-05-30 12:22:43'
2026-05-30 12:22:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 22, 43, 152541, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16652, 'low': 1.16651, 'close': 1.16651, 'volume': 2.0} | asctime='2026-05-30 12:22:43'
2026-05-30 12:22:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 22, 43, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 12:22:43'
2026-05-30 12:23:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 23, 13, 201031, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16531, 'low': 1.16531, 'close': 1.16531, 'volume': 1.0} | asctime='2026-05-30 12:23:13'
2026-05-30 12:23:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 23, 13, 202206, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16663, 'close': 1.16663, 'volume': 1.0} | asctime='2026-05-30 12:23:13'
2026-05-30 12:23:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 23, 13, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:23:13'
2026-05-30 12:23:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 23, 16, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 12:23:16'
2026-05-30 12:24:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 24, 599665, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16543, 'low': 1.16539, 'close': 1.16543, 'volume': 2.0} | asctime='2026-05-30 12:24:24'
2026-05-30 12:24:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 24, 601960, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16633, 'low': 1.16629, 'close': 1.16633, 'volume': 2.0} | asctime='2026-05-30 12:24:24'
2026-05-30 12:24:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 24, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 12:24:24'
2026-05-30 12:24:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 25, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 12:24:25'
2026-05-30 12:24:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 27, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1661, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 12:24:27'
2026-05-30 12:24:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 35, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 12:24:36'
2026-05-30 12:24:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 43, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 12:24:43'
2026-05-30 12:24:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 45, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 12:24:45'
2026-05-30 12:24:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 53, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 12:24:53'
2026-05-30 12:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 24, 57, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:24:57'
2026-05-30 12:25:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 25, 58, 551727, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.1654, 'low': 1.16502, 'close': 1.16539, 'volume': 8.0} | asctime='2026-05-30 12:25:58'
2026-05-30 12:25:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 25, 58, 552475, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16662, 'low': 1.1661, 'close': 1.16629, 'volume': 8.0} | asctime='2026-05-30 12:25:58'
2026-05-30 12:25:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 25, 58, 553487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16528, 'high': 1.16562, 'low': 1.16502, 'close': 1.16539, 'volume': 20.0} | asctime='2026-05-30 12:25:58'
2026-05-30 12:25:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 25, 58, 554485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16684, 'high': 1.16684, 'low': 1.1661, 'close': 1.16629, 'volume': 20.0} | asctime='2026-05-30 12:25:58'
2026-05-30 12:25:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 25, 58, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 12:25:58'
2026-05-30 12:25:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 25, 59, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 12:25:59'
2026-05-30 12:26:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 26, 18, 899242, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16551, 'low': 1.16544, 'close': 1.16551, 'volume': 2.0} | asctime='2026-05-30 12:26:18'
2026-05-30 12:26:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 26, 18, 900121, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16641, 'low': 1.16634, 'close': 1.16641, 'volume': 2.0} | asctime='2026-05-30 12:26:18'
2026-05-30 12:26:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 26, 18, 878000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 12:26:18'
2026-05-30 12:27:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 27, 5, 134320, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16526, 'low': 1.16526, 'close': 1.16526, 'volume': 1.0} | asctime='2026-05-30 12:27:05'
2026-05-30 12:27:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 27, 5, 135313, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16658, 'close': 1.16658, 'volume': 1.0} | asctime='2026-05-30 12:27:05'
2026-05-30 12:27:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 27, 5, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 12:27:05'
2026-05-30 12:27:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 27, 11, 886000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 12:27:11'
2026-05-30 12:27:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 27, 44, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 12:27:44'
2026-05-30 12:27:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 27, 55, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 12:27:55'
2026-05-30 12:27:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 27, 57, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 12:27:57'
2026-05-30 12:27:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 27, 59, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 12:27:59'
2026-05-30 12:28:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 0, 798484, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16545, 'low': 1.16493, 'close': 1.16545, 'volume': 6.0} | asctime='2026-05-30 12:28:00'
2026-05-30 12:28:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 0, 800873, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.1666, 'low': 1.16625, 'close': 1.16635, 'volume': 6.0} | asctime='2026-05-30 12:28:00'
2026-05-30 12:28:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 0, 798000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 12:28:00'
2026-05-30 12:28:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 1, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 12:28:01'
2026-05-30 12:28:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 1, 293000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 12:28:01'
2026-05-30 12:28:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 23, 887000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 12:28:23'
2026-05-30 12:28:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 25, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16605, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 12:28:25'
2026-05-30 12:28:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 36, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 12:28:36'
2026-05-30 12:28:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 37, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 12:28:37'
2026-05-30 12:28:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 38, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 12:28:38'
2026-05-30 12:28:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 39, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 12:28:39'
2026-05-30 12:28:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 39, 405000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:28:39'
2026-05-30 12:28:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 28, 41, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 12:28:41'
2026-05-30 12:29:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 29, 27, 247232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16536, 'low': 1.16496, 'close': 1.16532, 'volume': 11.0} | asctime='2026-05-30 12:29:27'
2026-05-30 12:29:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 29, 27, 248829, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16605, 'close': 1.16622, 'volume': 11.0} | asctime='2026-05-30 12:29:27'
2026-05-30 12:29:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 29, 27, 199000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 12:29:27'
2026-05-30 12:29:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 29, 33, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 12:29:33'
2026-05-30 12:29:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 29, 37, 874000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 12:29:37'
2026-05-30 12:29:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 29, 47, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 12:29:47'
2026-05-30 12:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 1, 96446, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16548, 'low': 1.16517, 'close': 1.1652, 'volume': 4.0} | asctime='2026-05-30 12:30:01'
2026-05-30 12:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 1, 98059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16652, 'low': 1.16638, 'close': 1.16652, 'volume': 4.0} | asctime='2026-05-30 12:30:01'
2026-05-30 12:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 1, 98686, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16544, 'high': 1.16551, 'low': 1.16493, 'close': 1.1652, 'volume': 24.0} | asctime='2026-05-30 12:30:01'
2026-05-30 12:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 1, 99148, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16634, 'high': 1.16662, 'low': 1.16605, 'close': 1.16652, 'volume': 24.0} | asctime='2026-05-30 12:30:01'
2026-05-30 12:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 1, 100024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1651, 'high': 1.16563, 'low': 1.16493, 'close': 1.1652, 'volume': 57.0} | asctime='2026-05-30 12:30:01'
2026-05-30 12:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 1, 100770, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16642, 'high': 1.16684, 'low': 1.16605, 'close': 1.16652, 'volume': 57.0} | asctime='2026-05-30 12:30:01'
2026-05-30 12:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 1, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 12:30:01'
2026-05-30 12:30:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 15, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 12:30:15'
2026-05-30 12:30:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 20, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:30:20'
2026-05-30 12:30:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 21, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 12:30:21'
2026-05-30 12:30:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 23, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:30:23'
2026-05-30 12:30:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 25, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 12:30:25'
2026-05-30 12:30:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 25, 295000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 12:30:25'
2026-05-30 12:30:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 32, 744000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16701, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 12:30:32'
2026-05-30 12:30:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 30, 33, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 12:30:33'
2026-05-30 12:31:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 34, 95928, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16545, 'low': 1.16497, 'close': 1.1653, 'volume': 9.0} | asctime='2026-05-30 12:31:34'
2026-05-30 12:31:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 34, 97936, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16701, 'low': 1.16625, 'close': 1.16686, 'volume': 9.0} | asctime='2026-05-30 12:31:34'
2026-05-30 12:31:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 34, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 12:31:34'
2026-05-30 12:31:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 40, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 12:31:40'
2026-05-30 12:31:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 41, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 12:31:41'
2026-05-30 12:31:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 42, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 12:31:42'
2026-05-30 12:31:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 46, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 12:31:46'
2026-05-30 12:31:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 47, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 12:31:47'
2026-05-30 12:31:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 48, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 12:31:48'
2026-05-30 12:31:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 48, 344000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 12:31:48'
2026-05-30 12:31:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 55, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 12:31:55'
2026-05-30 12:31:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 56, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 12:31:56'
2026-05-30 12:31:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 31, 59, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 12:31:59'
2026-05-30 12:32:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 32, 0, 145773, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16545, 'low': 1.16503, 'close': 1.16524, 'volume': 11.0} | asctime='2026-05-30 12:32:00'
2026-05-30 12:32:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 32, 0, 147028, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16672, 'low': 1.16631, 'close': 1.16656, 'volume': 11.0} | asctime='2026-05-30 12:32:00'
2026-05-30 12:32:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 32, 0, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 12:32:00'
2026-05-30 12:32:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 32, 1, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 12:32:01'
2026-05-30 12:32:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 32, 2, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 12:32:02'
2026-05-30 12:32:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 32, 3, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 12:32:03'
2026-05-30 12:32:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 32, 3, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 12:32:03'
2026-05-30 12:32:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 32, 14, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 12:32:14'
2026-05-30 12:32:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 32, 26, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 12:32:26'
2026-05-30 12:34:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 25, 144342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16528, 'low': 1.16505, 'close': 1.16517, 'volume': 7.0} | asctime='2026-05-30 12:34:25'
2026-05-30 12:34:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 25, 145456, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16673, 'low': 1.16657, 'close': 1.16673, 'volume': 7.0} | asctime='2026-05-30 12:34:25'
2026-05-30 12:34:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 25, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 12:34:25'
2026-05-30 12:34:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 31, 215000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 12:34:31'
2026-05-30 12:34:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 33, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 12:34:33'
2026-05-30 12:34:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 55, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 12:34:55'
2026-05-30 12:34:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 55, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 12:34:55'
2026-05-30 12:34:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 55, 918000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 12:34:55'
2026-05-30 12:34:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 57, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 12:34:57'
2026-05-30 12:34:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 34, 58, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 12:34:58'
2026-05-30 12:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 1, 793920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16532, 'low': 1.16502, 'close': 1.16507, 'volume': 8.0} | asctime='2026-05-30 12:35:01'
2026-05-30 12:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 1, 794804, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16664, 'low': 1.16639, 'close': 1.16639, 'volume': 8.0} | asctime='2026-05-30 12:35:01'
2026-05-30 12:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 1, 796010, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16535, 'high': 1.16545, 'low': 1.16497, 'close': 1.16507, 'volume': 35.0} | asctime='2026-05-30 12:35:01'
2026-05-30 12:35:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 1, 796602, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16625, 'high': 1.16701, 'low': 1.16625, 'close': 1.16639, 'volume': 35.0} | asctime='2026-05-30 12:35:01'
2026-05-30 12:35:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 1, 754000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16484, 'volume': 0.0} | asctime='2026-05-30 12:35:01'
2026-05-30 12:35:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 1, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 12:35:01'
2026-05-30 12:35:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 2, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 12:35:02'
2026-05-30 12:35:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 3, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 12:35:03'
2026-05-30 12:35:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 4, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 12:35:04'
2026-05-30 12:35:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 10, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 12:35:10'
2026-05-30 12:35:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 12, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 12:35:12'
2026-05-30 12:35:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 35, 45, 451000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 12:35:45'
2026-05-30 12:36:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 36, 13, 893101, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16484, 'high': 1.16543, 'low': 1.16482, 'close': 1.16504, 'volume': 8.0} | asctime='2026-05-30 12:36:13'
2026-05-30 12:36:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 36, 13, 894304, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16666, 'low': 1.16627, 'close': 1.1666, 'volume': 8.0} | asctime='2026-05-30 12:36:13'
2026-05-30 12:36:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 36, 13, 879000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 12:36:13'
2026-05-30 12:36:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 36, 16, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 12:36:16'
2026-05-30 12:36:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 36, 24, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 12:36:24'
2026-05-30 12:37:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 37, 32, 342189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.16497, 'low': 1.16493, 'close': 1.16496, 'volume': 3.0} | asctime='2026-05-30 12:37:32'
2026-05-30 12:37:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 37, 32, 343549, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16653, 'low': 1.16649, 'close': 1.16652, 'volume': 3.0} | asctime='2026-05-30 12:37:32'
2026-05-30 12:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 37, 32, 337000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 12:37:32'
2026-05-30 12:37:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 37, 34, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 12:37:34'
2026-05-30 12:37:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 37, 42, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 12:37:42'
2026-05-30 12:38:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 38, 16, 191797, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16501, 'high': 1.16528, 'low': 1.16501, 'close': 1.16528, 'volume': 3.0} | asctime='2026-05-30 12:38:16'
2026-05-30 12:38:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 38, 16, 192988, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.1666, 'low': 1.16657, 'close': 1.1666, 'volume': 3.0} | asctime='2026-05-30 12:38:16'
2026-05-30 12:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 38, 16, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:38:16'
2026-05-30 12:38:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 38, 43, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 12:38:43'
2026-05-30 12:40:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 40, 4, 190234, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16544, 'low': 1.16539, 'close': 1.16544, 'volume': 2.0} | asctime='2026-05-30 12:40:04'
2026-05-30 12:40:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 40, 4, 191141, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16634, 'low': 1.16629, 'close': 1.16634, 'volume': 2.0} | asctime='2026-05-30 12:40:04'
2026-05-30 12:40:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 40, 4, 191933, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16484, 'high': 1.16544, 'low': 1.16482, 'close': 1.16544, 'volume': 16.0} | asctime='2026-05-30 12:40:04'
2026-05-30 12:40:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 40, 4, 194604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1664, 'high': 1.16666, 'low': 1.16627, 'close': 1.16634, 'volume': 16.0} | asctime='2026-05-30 12:40:04'
2026-05-30 12:40:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 40, 4, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:40:04'
2026-05-30 12:41:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 41, 13, 90137, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 12:41:13'
2026-05-30 12:41:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 41, 13, 91167, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 12:41:13'
2026-05-30 12:41:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 41, 13, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 12:41:13'
2026-05-30 12:41:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 41, 24, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 12:41:24'
2026-05-30 12:42:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 42, 32, 139313, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16543, 'low': 1.16526, 'close': 1.16543, 'volume': 2.0} | asctime='2026-05-30 12:42:32'
2026-05-30 12:42:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 42, 32, 140335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16633, 'close': 1.16633, 'volume': 2.0} | asctime='2026-05-30 12:42:32'
2026-05-30 12:42:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 42, 32, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 12:42:32'
2026-05-30 12:42:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 42, 34, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 12:42:34'
2026-05-30 12:42:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 42, 40, 326000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:42:40'
2026-05-30 12:43:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 43, 43, 40659, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16547, 'high': 1.16547, 'low': 1.16539, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 12:43:43'
2026-05-30 12:43:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 43, 43, 47158, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16637, 'low': 1.16629, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 12:43:43'
2026-05-30 12:43:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 43, 43, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 12:43:43'
2026-05-30 12:44:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 44, 55, 538051, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16544, 'close': 1.16544, 'volume': 1.0} | asctime='2026-05-30 12:44:55'
2026-05-30 12:44:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 44, 55, 539326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16634, 'low': 1.16634, 'close': 1.16634, 'volume': 1.0} | asctime='2026-05-30 12:44:55'
2026-05-30 12:44:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 44, 55, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 12:44:55'
2026-05-30 12:44:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 44, 59, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:44:59'
2026-05-30 12:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 3, 87670, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16518, 'low': 1.16517, 'close': 1.16518, 'volume': 2.0} | asctime='2026-05-30 12:45:03'
2026-05-30 12:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 3, 89757, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16674, 'low': 1.16673, 'close': 1.16674, 'volume': 2.0} | asctime='2026-05-30 12:45:03'
2026-05-30 12:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 3, 91588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16547, 'low': 1.16517, 'close': 1.16518, 'volume': 9.0} | asctime='2026-05-30 12:45:03'
2026-05-30 12:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 3, 92985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16674, 'low': 1.16629, 'close': 1.16674, 'volume': 9.0} | asctime='2026-05-30 12:45:03'
2026-05-30 12:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 3, 94495, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16535, 'high': 1.16547, 'low': 1.16482, 'close': 1.16518, 'volume': 60.0} | asctime='2026-05-30 12:45:03'
2026-05-30 12:45:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 3, 95948, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16625, 'high': 1.16701, 'low': 1.16625, 'close': 1.16674, 'volume': 60.0} | asctime='2026-05-30 12:45:03'
2026-05-30 12:45:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 3, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 12:45:03'
2026-05-30 12:45:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 5, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 12:45:05'
2026-05-30 12:45:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 12, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 12:45:12'
2026-05-30 12:45:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 19, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 12:45:19'
2026-05-30 12:45:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 45, 49, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 12:45:49'
2026-05-30 12:46:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 46, 3, 37182, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.1654, 'low': 1.16504, 'close': 1.16528, 'volume': 5.0} | asctime='2026-05-30 12:46:03'
2026-05-30 12:46:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 46, 3, 38184, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16618, 'close': 1.16618, 'volume': 5.0} | asctime='2026-05-30 12:46:03'
2026-05-30 12:46:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 46, 3, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 12:46:03'
2026-05-30 12:46:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 46, 5, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 12:46:05'
2026-05-30 12:46:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 46, 26, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 12:46:26'
2026-05-30 12:46:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 46, 31, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 12:46:31'
2026-05-30 12:46:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 46, 33, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:46:33'
2026-05-30 12:46:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 46, 53, 198000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 12:46:53'
2026-05-30 12:48:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 48, 33, 37309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16496, 'high': 1.16539, 'low': 1.16496, 'close': 1.16533, 'volume': 6.0} | asctime='2026-05-30 12:48:33'
2026-05-30 12:48:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 48, 33, 38818, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16652, 'low': 1.16623, 'close': 1.16623, 'volume': 6.0} | asctime='2026-05-30 12:48:33'
2026-05-30 12:48:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 48, 33, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 12:48:33'
2026-05-30 12:48:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 48, 33, 751000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:48:33'
2026-05-30 12:48:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 48, 34, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 12:48:34'
2026-05-30 12:48:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 48, 56, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:48:56'
2026-05-30 12:49:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 23, 185181, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16539, 'low': 1.16518, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 12:49:23'
2026-05-30 12:49:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 23, 185931, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16651, 'low': 1.16623, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 12:49:23'
2026-05-30 12:49:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 23, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 12:49:23'
2026-05-30 12:49:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 29, 614000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 12:49:29'
2026-05-30 12:49:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 34, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16607, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 12:49:34'
2026-05-30 12:49:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 38, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 12:49:38'
2026-05-30 12:49:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 40, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 12:49:40'
2026-05-30 12:49:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 53, 946000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 12:49:53'
2026-05-30 12:49:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 56, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 12:49:56'
2026-05-30 12:49:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 49, 57, 794000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 12:49:57'
2026-05-30 12:50:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 50, 2, 134723, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.1654, 'low': 1.16502, 'close': 1.1652, 'volume': 8.0} | asctime='2026-05-30 12:50:02'
2026-05-30 12:50:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 50, 2, 135533, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16659, 'low': 1.16607, 'close': 1.16652, 'volume': 8.0} | asctime='2026-05-30 12:50:02'
2026-05-30 12:50:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 50, 2, 136516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16507, 'high': 1.1654, 'low': 1.16496, 'close': 1.1652, 'volume': 23.0} | asctime='2026-05-30 12:50:02'
2026-05-30 12:50:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 50, 2, 137101, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16607, 'close': 1.16652, 'volume': 23.0} | asctime='2026-05-30 12:50:02'
2026-05-30 12:50:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 50, 2, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 12:50:02'
2026-05-30 12:50:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 50, 3, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 12:50:03'
2026-05-30 12:50:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 50, 14, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 12:50:14'
2026-05-30 12:50:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 50, 16, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 12:50:16'
2026-05-30 12:51:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 51, 38, 333765, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16532, 'low': 1.16516, 'close': 1.16526, 'volume': 4.0} | asctime='2026-05-30 12:51:38'
2026-05-30 12:51:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 51, 38, 334643, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16648, 'low': 1.16616, 'close': 1.16616, 'volume': 4.0} | asctime='2026-05-30 12:51:38'
2026-05-30 12:51:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 51, 38, 347000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 12:51:38'
2026-05-30 12:51:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 51, 40, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:51:40'
2026-05-30 12:51:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 51, 44, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 12:51:44'
2026-05-30 12:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 52, 0, 82815, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16518, 'low': 1.16499, 'close': 1.16499, 'volume': 3.0} | asctime='2026-05-30 12:52:00'
2026-05-30 12:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 52, 0, 83702, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16667, 'low': 1.1665, 'close': 1.16655, 'volume': 3.0} | asctime='2026-05-30 12:52:00'
2026-05-30 12:52:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 52, 0, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:52:00'
2026-05-30 12:52:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 52, 27, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 12:52:27'
2026-05-30 12:52:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 52, 28, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 12:52:28'
2026-05-30 12:52:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 52, 32, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 12:52:32'
2026-05-30 12:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 52, 34, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:52:34'
2026-05-30 12:52:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 52, 40, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 12:52:40'
2026-05-30 12:52:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 52, 46, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 12:52:46'
2026-05-30 12:53:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 53, 40, 982387, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16546, 'low': 1.16518, 'close': 1.16545, 'volume': 7.0} | asctime='2026-05-30 12:53:40'
2026-05-30 12:53:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 53, 40, 984704, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16654, 'low': 1.16635, 'close': 1.16635, 'volume': 7.0} | asctime='2026-05-30 12:53:40'
2026-05-30 12:53:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 53, 40, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 12:53:40'
2026-05-30 12:53:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 53, 44, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 12:53:44'
2026-05-30 12:54:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 54, 32, 131409, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16524, 'low': 1.16513, 'close': 1.16524, 'volume': 2.0} | asctime='2026-05-30 12:54:32'
2026-05-30 12:54:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 54, 32, 132424, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16614, 'close': 1.16614, 'volume': 2.0} | asctime='2026-05-30 12:54:32'
2026-05-30 12:54:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 54, 32, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 12:54:32'
2026-05-30 12:54:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 54, 33, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 12:54:33'
2026-05-30 12:54:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 54, 53, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 12:54:53'
2026-05-30 12:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 55, 1, 81889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16533, 'low': 1.16527, 'close': 1.16533, 'volume': 3.0} | asctime='2026-05-30 12:55:01'
2026-05-30 12:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 55, 1, 82803, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16617, 'high': 1.16623, 'low': 1.16617, 'close': 1.16623, 'volume': 3.0} | asctime='2026-05-30 12:55:01'
2026-05-30 12:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 55, 1, 83927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16516, 'high': 1.16546, 'low': 1.16499, 'close': 1.16533, 'volume': 19.0} | asctime='2026-05-30 12:55:01'
2026-05-30 12:55:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 55, 1, 84422, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16648, 'high': 1.16667, 'low': 1.16614, 'close': 1.16623, 'volume': 19.0} | asctime='2026-05-30 12:55:01'
2026-05-30 12:55:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 55, 1, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:55:01'
2026-05-30 12:56:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 56, 3, 31204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 12:56:03'
2026-05-30 12:56:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 56, 3, 32150, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 12:56:03'
2026-05-30 12:56:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 56, 3, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 12:56:03'
2026-05-30 12:56:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 56, 10, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 12:56:10'
2026-05-30 12:56:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 56, 15, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 12:56:15'
2026-05-30 12:56:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 56, 35, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 12:56:35'
2026-05-30 12:56:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 56, 39, 385000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 12:56:39'
2026-05-30 12:56:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 56, 41, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 12:56:41'
2026-05-30 12:56:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 56, 43, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 12:56:43'
2026-05-30 12:57:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 57, 26, 430614, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16567, 'low': 1.16516, 'close': 1.16539, 'volume': 7.0} | asctime='2026-05-30 12:57:26'
2026-05-30 12:57:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 57, 26, 432152, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16672, 'low': 1.16629, 'close': 1.16629, 'volume': 7.0} | asctime='2026-05-30 12:57:26'
2026-05-30 12:57:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 57, 26, 436000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 12:57:26'
2026-05-30 12:57:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 57, 28, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 12:57:28'
2026-05-30 12:57:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 57, 30, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 12:57:30'
2026-05-30 12:57:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 57, 30, 282000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 12:57:30'
2026-05-30 12:57:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 12, 57, 34, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 12:57:34'
2026-05-30 13:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 0, 0, 128110, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16552, 'low': 1.16509, 'close': 1.16509, 'volume': 5.0} | asctime='2026-05-30 13:00:00'
2026-05-30 13:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 0, 0, 129764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16667, 'low': 1.16641, 'close': 1.16641, 'volume': 5.0} | asctime='2026-05-30 13:00:00'
2026-05-30 13:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 0, 0, 131035, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16567, 'low': 1.16509, 'close': 1.16509, 'volume': 13.0} | asctime='2026-05-30 13:00:00'
2026-05-30 13:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 0, 0, 132353, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16672, 'low': 1.16629, 'close': 1.16641, 'volume': 13.0} | asctime='2026-05-30 13:00:00'
2026-05-30 13:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 0, 0, 133075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16507, 'high': 1.16567, 'low': 1.16496, 'close': 1.16509, 'volume': 55.0} | asctime='2026-05-30 13:00:00'
2026-05-30 13:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 0, 0, 133697, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16663, 'high': 1.16672, 'low': 1.16607, 'close': 1.16641, 'volume': 55.0} | asctime='2026-05-30 13:00:00'
2026-05-30 13:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 0, 0, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 13:00:00'
2026-05-30 13:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 0, 4, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:00:04'
2026-05-30 13:02:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 6, 476840, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.1654, 'low': 1.16539, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 13:02:06'
2026-05-30 13:02:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 6, 477827, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.1663, 'low': 1.16629, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 13:02:06'
2026-05-30 13:02:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 6, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 13:02:06'
2026-05-30 13:02:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 10, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 13:02:10'
2026-05-30 13:02:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 11, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 13:02:11'
2026-05-30 13:02:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 18, 286000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 13:02:18'
2026-05-30 13:02:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 21, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 13:02:21'
2026-05-30 13:02:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 27, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 13:02:27'
2026-05-30 13:02:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 31, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:02:31'
2026-05-30 13:02:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 47, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 13:02:47'
2026-05-30 13:02:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 56, 522000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:02:56'
2026-05-30 13:02:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 57, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 13:02:57'
2026-05-30 13:02:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 2, 59, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 13:02:59'
2026-05-30 13:03:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 3, 19, 875934, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16552, 'low': 1.16509, 'close': 1.16541, 'volume': 11.0} | asctime='2026-05-30 13:03:19'
2026-05-30 13:03:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 3, 19, 878070, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16676, 'low': 1.16629, 'close': 1.16673, 'volume': 11.0} | asctime='2026-05-30 13:03:19'
2026-05-30 13:03:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 3, 19, 860000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 13:03:19'
2026-05-30 13:03:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 3, 23, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 13:03:23'
2026-05-30 13:03:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 3, 28, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 13:03:28'
2026-05-30 13:03:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 3, 29, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:03:29'
2026-05-30 13:03:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 3, 59, 833000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 13:03:59'
2026-05-30 13:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 4, 0, 326192, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16544, 'low': 1.16519, 'close': 1.16544, 'volume': 5.0} | asctime='2026-05-30 13:04:00'
2026-05-30 13:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 4, 0, 327233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16675, 'high': 1.16675, 'low': 1.16629, 'close': 1.16634, 'volume': 5.0} | asctime='2026-05-30 13:04:00'
2026-05-30 13:04:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 4, 0, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 13:04:00'
2026-05-30 13:04:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 4, 1, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 13:04:01'
2026-05-30 13:04:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 4, 3, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 13:04:03'
2026-05-30 13:04:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 4, 5, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 13:04:05'
2026-05-30 13:04:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 4, 7, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 13:04:07'
2026-05-30 13:04:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 4, 19, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 13:04:19'
2026-05-30 13:05:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 5, 55, 174927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.1654, 'low': 1.16497, 'close': 1.1654, 'volume': 6.0} | asctime='2026-05-30 13:05:55'
2026-05-30 13:05:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 5, 55, 176149, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16664, 'low': 1.1663, 'close': 1.1663, 'volume': 6.0} | asctime='2026-05-30 13:05:55'
2026-05-30 13:05:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 5, 55, 178075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1654, 'high': 1.16552, 'low': 1.16497, 'close': 1.1654, 'volume': 24.0} | asctime='2026-05-30 13:05:55'
2026-05-30 13:05:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 5, 55, 178600, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1663, 'high': 1.16676, 'low': 1.16629, 'close': 1.1663, 'volume': 24.0} | asctime='2026-05-30 13:05:55'
2026-05-30 13:05:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 5, 55, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:05:55'
2026-05-30 13:06:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 27, 574953, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 13:06:27'
2026-05-30 13:06:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 27, 575998, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 13:06:27'
2026-05-30 13:06:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 27, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 13:06:27'
2026-05-30 13:06:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 33, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 13:06:33'
2026-05-30 13:06:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 35, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 13:06:35'
2026-05-30 13:06:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 39, 228000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 13:06:39'
2026-05-30 13:06:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 42, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 13:06:42'
2026-05-30 13:06:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 43, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 13:06:43'
2026-05-30 13:06:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 45, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 13:06:45'
2026-05-30 13:06:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 48, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 13:06:48'
2026-05-30 13:06:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 57, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 13:06:57'
2026-05-30 13:06:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 6, 57, 973000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 13:06:57'
2026-05-30 13:07:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 7, 17, 73734, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16555, 'low': 1.16525, 'close': 1.16545, 'volume': 10.0} | asctime='2026-05-30 13:07:17'
2026-05-30 13:07:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 7, 17, 74564, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.1666, 'low': 1.16631, 'close': 1.16635, 'volume': 10.0} | asctime='2026-05-30 13:07:17'
2026-05-30 13:07:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 7, 17, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 13:07:17'
2026-05-30 13:08:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 8, 20, 627337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16541, 'low': 1.16541, 'close': 1.16541, 'volume': 1.0} | asctime='2026-05-30 13:08:20'
2026-05-30 13:08:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 8, 20, 628074, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16631, 'low': 1.16631, 'close': 1.16631, 'volume': 1.0} | asctime='2026-05-30 13:08:20'
2026-05-30 13:08:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 8, 20, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 13:08:20'
2026-05-30 13:08:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 8, 35, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 13:08:35'
2026-05-30 13:08:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 8, 43, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 13:08:43'
2026-05-30 13:09:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 9, 27, 822381, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16543, 'low': 1.16511, 'close': 1.16543, 'volume': 3.0} | asctime='2026-05-30 13:09:27'
2026-05-30 13:09:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 9, 27, 823239, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16675, 'low': 1.16643, 'close': 1.16675, 'volume': 3.0} | asctime='2026-05-30 13:09:27'
2026-05-30 13:09:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 9, 27, 810000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 13:09:27'
2026-05-30 13:09:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 9, 31, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 13:09:31'
2026-05-30 13:10:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 10, 46, 271575, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16541, 'low': 1.16538, 'close': 1.16541, 'volume': 2.0} | asctime='2026-05-30 13:10:46'
2026-05-30 13:10:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 10, 46, 272485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1667, 'low': 1.16631, 'close': 1.16631, 'volume': 2.0} | asctime='2026-05-30 13:10:46'
2026-05-30 13:10:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 10, 46, 273579, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16555, 'low': 1.16511, 'close': 1.16541, 'volume': 17.0} | asctime='2026-05-30 13:10:46'
2026-05-30 13:10:46 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 10, 46, 274135, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16675, 'low': 1.16629, 'close': 1.16631, 'volume': 17.0} | asctime='2026-05-30 13:10:46'
2026-05-30 13:10:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 10, 46, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 13:10:46'
2026-05-30 13:11:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 11, 27, 121378, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16489, 'high': 1.16489, 'low': 1.16489, 'close': 1.16489, 'volume': 1.0} | asctime='2026-05-30 13:11:27'
2026-05-30 13:11:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 11, 27, 122291, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16645, 'close': 1.16645, 'volume': 1.0} | asctime='2026-05-30 13:11:27'
2026-05-30 13:11:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 11, 27, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 13:11:27'
2026-05-30 13:13:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 16, 120688, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16527, 'low': 1.16527, 'close': 1.16527, 'volume': 1.0} | asctime='2026-05-30 13:13:16'
2026-05-30 13:13:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 16, 121342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16617, 'high': 1.16617, 'low': 1.16617, 'close': 1.16617, 'volume': 1.0} | asctime='2026-05-30 13:13:16'
2026-05-30 13:13:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 16, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 13:13:16'
2026-05-30 13:13:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 17, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 13:13:17'
2026-05-30 13:13:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 25, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 13:13:25'
2026-05-30 13:13:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 47, 261000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 13:13:47'
2026-05-30 13:13:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 49, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 13:13:49'
2026-05-30 13:13:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 53, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 13:13:53'
2026-05-30 13:13:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 55, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 13:13:55'
2026-05-30 13:13:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 13, 57, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 13:13:57'
2026-05-30 13:14:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 14, 16, 169855, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16501, 'high': 1.16533, 'low': 1.16495, 'close': 1.16533, 'volume': 8.0} | asctime='2026-05-30 13:14:16'
2026-05-30 13:14:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 14, 16, 170658, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16662, 'low': 1.16622, 'close': 1.16623, 'volume': 8.0} | asctime='2026-05-30 13:14:16'
2026-05-30 13:14:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 14, 16, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 13:14:16'
2026-05-30 13:14:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 14, 17, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:14:17'
2026-05-30 13:14:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 14, 36, 296000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16461, 'volume': 0.0} | asctime='2026-05-30 13:14:36'
2026-05-30 13:14:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 14, 37, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:14:37'
2026-05-30 13:14:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 14, 39, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 13:14:39'
2026-05-30 13:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 12, 420335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16545, 'low': 1.16461, 'close': 1.16545, 'volume': 5.0} | asctime='2026-05-30 13:15:12'
2026-05-30 13:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 12, 422654, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16616, 'high': 1.16689, 'low': 1.16608, 'close': 1.16635, 'volume': 5.0} | asctime='2026-05-30 13:15:12'
2026-05-30 13:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 12, 423939, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16489, 'high': 1.16545, 'low': 1.16461, 'close': 1.16545, 'volume': 15.0} | asctime='2026-05-30 13:15:12'
2026-05-30 13:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 12, 424868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16645, 'high': 1.16689, 'low': 1.16608, 'close': 1.16635, 'volume': 15.0} | asctime='2026-05-30 13:15:12'
2026-05-30 13:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 12, 425344, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1654, 'high': 1.16555, 'low': 1.16461, 'close': 1.16545, 'volume': 56.0} | asctime='2026-05-30 13:15:12'
2026-05-30 13:15:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 12, 425880, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1663, 'high': 1.16689, 'low': 1.16608, 'close': 1.16635, 'volume': 56.0} | asctime='2026-05-30 13:15:12'
2026-05-30 13:15:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 12, 421000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:15:12'
2026-05-30 13:15:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 17, 882000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 13:15:17'
2026-05-30 13:15:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 19, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 13:15:19'
2026-05-30 13:15:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 27, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 13:15:27'
2026-05-30 13:15:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 29, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 13:15:29'
2026-05-30 13:15:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 30, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 13:15:30'
2026-05-30 13:15:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 32, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 13:15:32'
2026-05-30 13:15:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 36, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 13:15:36'
2026-05-30 13:15:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 41, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 13:15:41'
2026-05-30 13:15:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 15, 43, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 13:15:43'
2026-05-30 13:16:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 16, 57, 918272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16552, 'low': 1.16482, 'close': 1.16551, 'volume': 10.0} | asctime='2026-05-30 13:16:57'
2026-05-30 13:16:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 16, 57, 919088, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16686, 'low': 1.16641, 'close': 1.16641, 'volume': 10.0} | asctime='2026-05-30 13:16:57'
2026-05-30 13:16:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 16, 57, 941000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:16:57'
2026-05-30 13:16:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 16, 59, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 13:16:59'
2026-05-30 13:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 17, 0, 917659, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16514, 'low': 1.16508, 'close': 1.16508, 'volume': 2.0} | asctime='2026-05-30 13:17:00'
2026-05-30 13:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 17, 0, 918621, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1667, 'low': 1.16664, 'close': 1.16664, 'volume': 2.0} | asctime='2026-05-30 13:17:00'
2026-05-30 13:17:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 17, 0, 918000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 13:17:00'
2026-05-30 13:17:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 17, 2, 665000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 13:17:02'
2026-05-30 13:17:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 17, 3, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 13:17:03'
2026-05-30 13:18:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 18, 32, 917374, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16536, 'low': 1.1652, 'close': 1.16536, 'volume': 3.0} | asctime='2026-05-30 13:18:32'
2026-05-30 13:18:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 18, 32, 918459, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16626, 'close': 1.16626, 'volume': 3.0} | asctime='2026-05-30 13:18:32'
2026-05-30 13:18:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 18, 32, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 13:18:32'
2026-05-30 13:18:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 18, 33, 651000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:18:33'
2026-05-30 13:18:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 18, 33, 775000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:18:33'
2026-05-30 13:18:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 18, 35, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 13:18:35'
2026-05-30 13:19:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 19, 27, 166574, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16524, 'low': 1.16518, 'close': 1.16524, 'volume': 4.0} | asctime='2026-05-30 13:19:27'
2026-05-30 13:19:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 19, 27, 167416, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.1668, 'low': 1.1665, 'close': 1.1668, 'volume': 4.0} | asctime='2026-05-30 13:19:27'
2026-05-30 13:19:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 19, 27, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:19:27'
2026-05-30 13:19:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 19, 32, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 13:19:32'
2026-05-30 13:19:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 19, 33, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 13:19:33'
2026-05-30 13:19:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 19, 35, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 13:19:35'
2026-05-30 13:19:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 19, 55, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 13:19:55'
2026-05-30 13:19:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 19, 57, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 13:19:57'
2026-05-30 13:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 1, 167118, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16541, 'low': 1.16512, 'close': 1.16534, 'volume': 6.0} | asctime='2026-05-30 13:20:01'
2026-05-30 13:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 1, 168006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.16681, 'low': 1.16624, 'close': 1.16624, 'volume': 6.0} | asctime='2026-05-30 13:20:01'
2026-05-30 13:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 1, 168621, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16518, 'high': 1.16552, 'low': 1.16482, 'close': 1.16534, 'volume': 25.0} | asctime='2026-05-30 13:20:01'
2026-05-30 13:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 1, 169121, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1665, 'high': 1.16686, 'low': 1.16624, 'close': 1.16624, 'volume': 25.0} | asctime='2026-05-30 13:20:01'
2026-05-30 13:20:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 1, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 13:20:01'
2026-05-30 13:20:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 13, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 13:20:13'
2026-05-30 13:20:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 15, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 13:20:15'
2026-05-30 13:20:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 30, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 13:20:30'
2026-05-30 13:20:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 40, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:20:40'
2026-05-30 13:20:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 20, 49, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 13:20:49'
2026-05-30 13:21:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 7, 215909, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16542, 'low': 1.16514, 'close': 1.16542, 'volume': 6.0} | asctime='2026-05-30 13:21:07'
2026-05-30 13:21:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 7, 217018, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16646, 'low': 1.16618, 'close': 1.16632, 'volume': 6.0} | asctime='2026-05-30 13:21:07'
2026-05-30 13:21:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 7, 212000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 13:21:07'
2026-05-30 13:21:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 7, 336000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16471, 'volume': 0.0} | asctime='2026-05-30 13:21:07'
2026-05-30 13:21:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 7, 833000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16467, 'volume': 0.0} | asctime='2026-05-30 13:21:07'
2026-05-30 13:21:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 8, 205000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.1647, 'volume': 0.0} | asctime='2026-05-30 13:21:08'
2026-05-30 13:21:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 8, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 13:21:08'
2026-05-30 13:21:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 9, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 13:21:09'
2026-05-30 13:21:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 11, 557000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 13:21:11'
2026-05-30 13:21:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 13, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 13:21:13'
2026-05-30 13:21:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 15, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 13:21:15'
2026-05-30 13:21:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 17, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 13:21:17'
2026-05-30 13:21:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 19, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 13:21:19'
2026-05-30 13:21:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 21, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:21:21'
2026-05-30 13:21:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 25, 833000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 13:21:25'
2026-05-30 13:21:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 30, 178000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 13:21:30'
2026-05-30 13:21:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 30, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 13:21:30'
2026-05-30 13:21:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 31, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 13:21:31'
2026-05-30 13:21:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 33, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 13:21:33'
2026-05-30 13:21:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 35, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16607, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 13:21:35'
2026-05-30 13:21:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 46, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 13:21:46'
2026-05-30 13:21:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 46, 192000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 13:21:46'
2026-05-30 13:21:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 47, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 13:21:47'
2026-05-30 13:21:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 49, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 13:21:49'
2026-05-30 13:21:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 21, 52, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 13:21:52'
2026-05-30 13:22:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 2, 565795, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16547, 'high': 1.16547, 'low': 1.16467, 'close': 1.16509, 'volume': 23.0} | asctime='2026-05-30 13:22:02'
2026-05-30 13:22:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 2, 566800, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16699, 'low': 1.16607, 'close': 1.16665, 'volume': 23.0} | asctime='2026-05-30 13:22:02'
2026-05-30 13:22:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 2, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 13:22:02'
2026-05-30 13:22:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 3, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 13:22:03'
2026-05-30 13:22:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 5, 930000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 13:22:05'
2026-05-30 13:22:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 8, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 13:22:08'
2026-05-30 13:22:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 11, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 13:22:11'
2026-05-30 13:22:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 11, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 13:22:11'
2026-05-30 13:22:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 13, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:22:13'
2026-05-30 13:22:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 15, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 13:22:15'
2026-05-30 13:22:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 16, 234000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 13:22:16'
2026-05-30 13:22:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 17, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 13:22:17'
2026-05-30 13:22:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 20, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 13:22:20'
2026-05-30 13:22:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 37, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:22:37'
2026-05-30 13:22:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 45, 655000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 13:22:45'
2026-05-30 13:22:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 45, 903000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 13:22:45'
2026-05-30 13:22:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 22, 47, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 13:22:47'
2026-05-30 13:23:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 23, 4, 164591, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16537, 'low': 1.16497, 'close': 1.16521, 'volume': 15.0} | asctime='2026-05-30 13:23:04'
2026-05-30 13:23:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 23, 4, 165739, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16677, 'low': 1.16622, 'close': 1.16677, 'volume': 15.0} | asctime='2026-05-30 13:23:04'
2026-05-30 13:23:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 23, 4, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 13:23:04'
2026-05-30 13:23:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 23, 6, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 13:23:06'
2026-05-30 13:23:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 23, 11, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 13:23:11'
2026-05-30 13:23:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 23, 12, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 13:23:12'
2026-05-30 13:23:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 23, 38, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 13:23:38'
2026-05-30 13:23:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 23, 40, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 13:23:40'
2026-05-30 13:23:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 23, 42, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 13:23:42'
2026-05-30 13:24:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 24, 0, 763913, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16531, 'low': 1.16516, 'close': 1.1653, 'volume': 7.0} | asctime='2026-05-30 13:24:00'
2026-05-30 13:24:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 24, 0, 764865, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16672, 'low': 1.16649, 'close': 1.16662, 'volume': 7.0} | asctime='2026-05-30 13:24:00'
2026-05-30 13:24:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 24, 0, 760000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 13:24:00'
2026-05-30 13:24:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 24, 0, 883000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 13:24:00'
2026-05-30 13:24:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 24, 1, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 13:24:01'
2026-05-30 13:24:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 24, 3, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 13:24:03'
2026-05-30 13:24:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 24, 6, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 13:24:06'
2026-05-30 13:24:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 24, 38, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:24:38'
2026-05-30 13:27:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 27, 3, 112166, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16545, 'low': 1.16504, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 13:27:03'
2026-05-30 13:27:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 27, 3, 113224, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16615, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 13:27:03'
2026-05-30 13:27:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 27, 3, 113865, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1654, 'high': 1.16547, 'low': 1.16467, 'close': 1.16539, 'volume': 57.0} | asctime='2026-05-30 13:27:03'
2026-05-30 13:27:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 27, 3, 114542, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1663, 'high': 1.16699, 'low': 1.16607, 'close': 1.16629, 'volume': 57.0} | asctime='2026-05-30 13:27:03'
2026-05-30 13:27:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 27, 3, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 13:27:03'
2026-05-30 13:27:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 27, 8, 334000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 13:27:08'
2026-05-30 13:28:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 28, 31, 83880, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.1651, 'low': 1.16508, 'close': 1.1651, 'volume': 2.0} | asctime='2026-05-30 13:28:31'
2026-05-30 13:28:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 28, 31, 95527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16642, 'low': 1.1664, 'close': 1.16642, 'volume': 2.0} | asctime='2026-05-30 13:28:31'
2026-05-30 13:28:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 28, 31, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 13:28:31'
2026-05-30 13:28:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 28, 32, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 13:28:32'
2026-05-30 13:29:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 29, 2, 161028, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16535, 'low': 1.16506, 'close': 1.16535, 'volume': 2.0} | asctime='2026-05-30 13:29:02'
2026-05-30 13:29:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 29, 2, 162075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16625, 'close': 1.16625, 'volume': 2.0} | asctime='2026-05-30 13:29:02'
2026-05-30 13:29:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 29, 2, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:29:02'
2026-05-30 13:29:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 29, 40, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 13:29:40'
2026-05-30 13:29:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 29, 46, 240000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 13:29:46'
2026-05-30 13:30:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 30, 559485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16519, 'close': 1.16519, 'volume': 3.0} | asctime='2026-05-30 13:30:30'
2026-05-30 13:30:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 30, 561255, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16651, 'low': 1.16626, 'close': 1.16651, 'volume': 3.0} | asctime='2026-05-30 13:30:30'
2026-05-30 13:30:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 30, 562388, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16508, 'high': 1.16539, 'low': 1.16506, 'close': 1.16519, 'volume': 7.0} | asctime='2026-05-30 13:30:30'
2026-05-30 13:30:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 30, 563572, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1664, 'high': 1.16662, 'low': 1.16625, 'close': 1.16651, 'volume': 7.0} | asctime='2026-05-30 13:30:30'
2026-05-30 13:30:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 30, 564538, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16518, 'high': 1.16552, 'low': 1.16467, 'close': 1.16519, 'volume': 89.0} | asctime='2026-05-30 13:30:30'
2026-05-30 13:30:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 30, 565479, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1665, 'high': 1.16699, 'low': 1.16607, 'close': 1.16651, 'volume': 89.0} | asctime='2026-05-30 13:30:30'
2026-05-30 13:30:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 30, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 13:30:30'
2026-05-30 13:30:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 32, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 13:30:32'
2026-05-30 13:30:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 34, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 13:30:34'
2026-05-30 13:30:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 38, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 13:30:38'
2026-05-30 13:30:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 49, 303000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 13:30:49'
2026-05-30 13:30:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 49, 427000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 13:30:49'
2026-05-30 13:30:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 30, 54, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 13:30:54'
2026-05-30 13:31:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 0, 209121, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16562, 'low': 1.16507, 'close': 1.16522, 'volume': 7.0} | asctime='2026-05-30 13:31:00'
2026-05-30 13:31:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 0, 210485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16672, 'low': 1.16652, 'close': 1.16654, 'volume': 7.0} | asctime='2026-05-30 13:31:00'
2026-05-30 13:31:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 0, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 13:31:00'
2026-05-30 13:31:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 1, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 13:31:01'
2026-05-30 13:31:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 3, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 13:31:03'
2026-05-30 13:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 4, 944000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 13:31:04'
2026-05-30 13:31:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 6, 186000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 13:31:06'
2026-05-30 13:31:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 7, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 13:31:07'
2026-05-30 13:31:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 14, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 13:31:14'
2026-05-30 13:31:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 15, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 13:31:15'
2026-05-30 13:31:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 17, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 13:31:17'
2026-05-30 13:31:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 31, 54, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 13:31:54'
2026-05-30 13:32:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 2, 158256, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16542, 'low': 1.16492, 'close': 1.16511, 'volume': 10.0} | asctime='2026-05-30 13:32:02'
2026-05-30 13:32:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 2, 159379, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16626, 'close': 1.16643, 'volume': 10.0} | asctime='2026-05-30 13:32:02'
2026-05-30 13:32:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 2, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 13:32:02'
2026-05-30 13:32:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 3, 787000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 13:32:03'
2026-05-30 13:32:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 5, 28000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 13:32:05'
2026-05-30 13:32:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 6, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 13:32:06'
2026-05-30 13:32:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 8, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 13:32:08'
2026-05-30 13:32:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 18, 807000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 13:32:18'
2026-05-30 13:32:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 20, 178000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 13:32:20'
2026-05-30 13:32:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 28, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 13:32:28'
2026-05-30 13:32:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 30, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 13:32:30'
2026-05-30 13:32:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 30, 477000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 13:32:30'
2026-05-30 13:32:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 30, 850000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 13:32:30'
2026-05-30 13:32:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 31, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 13:32:31'
2026-05-30 13:32:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 31, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:32:31'
2026-05-30 13:32:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 34, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 13:32:34'
2026-05-30 13:32:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 36, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 13:32:36'
2026-05-30 13:32:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 57, 540000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 13:32:57'
2026-05-30 13:32:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 32, 57, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 13:32:57'
2026-05-30 13:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 33, 0, 107868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16551, 'low': 1.16494, 'close': 1.16526, 'volume': 17.0} | asctime='2026-05-30 13:33:00'
2026-05-30 13:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 33, 0, 108785, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16621, 'high': 1.16664, 'low': 1.16621, 'close': 1.16658, 'volume': 17.0} | asctime='2026-05-30 13:33:00'
2026-05-30 13:33:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 33, 0, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 13:33:00'
2026-05-30 13:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 35, 0, 556771, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16538, 'close': 1.16538, 'volume': 1.0} | asctime='2026-05-30 13:35:00'
2026-05-30 13:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 35, 0, 557644, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16628, 'close': 1.16628, 'volume': 1.0} | asctime='2026-05-30 13:35:00'
2026-05-30 13:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 35, 0, 558147, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16516, 'high': 1.16562, 'low': 1.16492, 'close': 1.16538, 'volume': 35.0} | asctime='2026-05-30 13:35:00'
2026-05-30 13:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 35, 0, 558921, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16672, 'high': 1.16672, 'low': 1.16621, 'close': 1.16628, 'volume': 35.0} | asctime='2026-05-30 13:35:00'
2026-05-30 13:35:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 35, 0, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 13:35:00'
2026-05-30 13:35:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 35, 2, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:35:02'
2026-05-30 13:35:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 35, 28, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 13:35:28'
2026-05-30 13:35:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 35, 57, 915000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 13:35:57'
2026-05-30 13:36:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 36, 4, 109382, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16539, 'low': 1.16499, 'close': 1.16499, 'volume': 4.0} | asctime='2026-05-30 13:36:04'
2026-05-30 13:36:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 36, 4, 110509, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16655, 'low': 1.16628, 'close': 1.16655, 'volume': 4.0} | asctime='2026-05-30 13:36:04'
2026-05-30 13:36:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 36, 4, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 13:36:04'
2026-05-30 13:36:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 36, 49, 930000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 13:36:49'
2026-05-30 13:36:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 36, 50, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 13:36:50'
2026-05-30 13:36:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 36, 52, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 13:36:52'
2026-05-30 13:37:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 37, 0, 105188, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16504, 'high': 1.16507, 'low': 1.16502, 'close': 1.16503, 'volume': 4.0} | asctime='2026-05-30 13:37:00'
2026-05-30 13:37:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 37, 0, 107080, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16636, 'high': 1.16658, 'low': 1.16635, 'close': 1.16635, 'volume': 4.0} | asctime='2026-05-30 13:37:00'
2026-05-30 13:37:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 37, 0, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 13:37:00'
2026-05-30 13:37:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 37, 1, 351000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 13:37:01'
2026-05-30 13:37:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 37, 2, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 13:37:02'
2026-05-30 13:37:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 37, 30, 276000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 13:37:30'
2026-05-30 13:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 37, 32, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 13:37:32'
2026-05-30 13:38:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 38, 0, 554313, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16545, 'low': 1.16508, 'close': 1.16545, 'volume': 5.0} | asctime='2026-05-30 13:38:00'
2026-05-30 13:38:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 38, 0, 555159, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16664, 'low': 1.1663, 'close': 1.16635, 'volume': 5.0} | asctime='2026-05-30 13:38:00'
2026-05-30 13:38:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 38, 0, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:38:00'
2026-05-30 13:39:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 39, 7, 104395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16514, 'low': 1.16514, 'close': 1.16514, 'volume': 1.0} | asctime='2026-05-30 13:39:07'
2026-05-30 13:39:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 39, 7, 106930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16646, 'low': 1.16646, 'close': 1.16646, 'volume': 1.0} | asctime='2026-05-30 13:39:07'
2026-05-30 13:39:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 39, 7, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 13:39:07'
2026-05-30 13:39:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 39, 33, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 13:39:33'
2026-05-30 13:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 3, 53884, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16535, 'close': 1.16535, 'volume': 2.0} | asctime='2026-05-30 13:40:03'
2026-05-30 13:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 3, 55415, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16625, 'close': 1.16625, 'volume': 2.0} | asctime='2026-05-30 13:40:03'
2026-05-30 13:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 3, 57912, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16538, 'high': 1.16545, 'low': 1.16499, 'close': 1.16535, 'volume': 16.0} | asctime='2026-05-30 13:40:03'
2026-05-30 13:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 3, 59566, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16628, 'high': 1.16664, 'low': 1.16625, 'close': 1.16625, 'volume': 16.0} | asctime='2026-05-30 13:40:03'
2026-05-30 13:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 3, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:40:03'
2026-05-30 13:40:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 12, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 13:40:12'
2026-05-30 13:40:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 23, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 13:40:23'
2026-05-30 13:40:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 45, 919000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 13:40:45'
2026-05-30 13:40:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 47, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 13:40:47'
2026-05-30 13:40:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 53, 243000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 13:40:53'
2026-05-30 13:40:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 57, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:40:57'
2026-05-30 13:40:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 57, 339000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 13:40:57'
2026-05-30 13:40:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 40, 59, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 13:40:59'
2026-05-30 13:41:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 1, 803056, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.1656, 'low': 1.16517, 'close': 1.16553, 'volume': 9.0} | asctime='2026-05-30 13:41:01'
2026-05-30 13:41:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 1, 805037, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16677, 'low': 1.16623, 'close': 1.16623, 'volume': 9.0} | asctime='2026-05-30 13:41:01'
2026-05-30 13:41:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 1, 808000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 13:41:01'
2026-05-30 13:41:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 1, 932000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 13:41:01'
2026-05-30 13:41:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 3, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 13:41:03'
2026-05-30 13:41:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 5, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 13:41:05'
2026-05-30 13:41:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 7, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 13:41:07'
2026-05-30 13:41:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 9, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 13:41:09'
2026-05-30 13:41:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 15, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:41:15'
2026-05-30 13:41:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 15, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 13:41:15'
2026-05-30 13:41:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 25, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 13:41:25'
2026-05-30 13:41:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 27, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 13:41:27'
2026-05-30 13:41:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 33, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 13:41:33'
2026-05-30 13:41:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 35, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 13:41:35'
2026-05-30 13:41:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 36, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 13:41:36'
2026-05-30 13:41:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 42, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 13:41:42'
2026-05-30 13:41:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 43, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 13:41:43'
2026-05-30 13:41:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 41, 45, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16486, 'volume': 0.0} | asctime='2026-05-30 13:41:45'
2026-05-30 13:42:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 42, 44, 552561, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16547, 'high': 1.16552, 'low': 1.16486, 'close': 1.16486, 'volume': 16.0} | asctime='2026-05-30 13:42:44'
2026-05-30 13:42:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 42, 44, 553816, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16667, 'low': 1.16628, 'close': 1.16642, 'volume': 16.0} | asctime='2026-05-30 13:42:44'
2026-05-30 13:42:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 42, 44, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 13:42:44'
2026-05-30 13:43:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 43, 33, 1706, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16536, 'low': 1.16536, 'close': 1.16536, 'volume': 1.0} | asctime='2026-05-30 13:43:33'
2026-05-30 13:43:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 43, 33, 2470, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16626, 'low': 1.16626, 'close': 1.16626, 'volume': 1.0} | asctime='2026-05-30 13:43:33'
2026-05-30 13:43:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 43, 33, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 13:43:33'
2026-05-30 13:44:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 44, 0, 51520, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16538, 'close': 1.16538, 'volume': 1.0} | asctime='2026-05-30 13:44:00'
2026-05-30 13:44:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 44, 0, 52608, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16628, 'close': 1.16628, 'volume': 1.0} | asctime='2026-05-30 13:44:00'
2026-05-30 13:44:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 44, 0, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:44:00'
2026-05-30 13:44:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 44, 26, 762000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 13:44:26'
2026-05-30 13:44:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 44, 27, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 13:44:27'
2026-05-30 13:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 20, 600830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16513, 'close': 1.16531, 'volume': 3.0} | asctime='2026-05-30 13:45:20'
2026-05-30 13:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 20, 601744, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16669, 'low': 1.16629, 'close': 1.16663, 'volume': 3.0} | asctime='2026-05-30 13:45:20'
2026-05-30 13:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 20, 602320, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.1656, 'low': 1.16486, 'close': 1.16531, 'volume': 30.0} | asctime='2026-05-30 13:45:20'
2026-05-30 13:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 20, 602773, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16677, 'low': 1.16623, 'close': 1.16663, 'volume': 30.0} | asctime='2026-05-30 13:45:20'
2026-05-30 13:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 20, 603187, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16516, 'high': 1.16562, 'low': 1.16486, 'close': 1.16531, 'volume': 81.0} | asctime='2026-05-30 13:45:20'
2026-05-30 13:45:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 20, 603649, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16672, 'high': 1.16677, 'low': 1.16621, 'close': 1.16663, 'volume': 81.0} | asctime='2026-05-30 13:45:20'
2026-05-30 13:45:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 20, 640000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:45:20'
2026-05-30 13:45:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 27, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 13:45:27'
2026-05-30 13:45:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 35, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 13:45:35'
2026-05-30 13:45:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 46, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:45:46'
2026-05-30 13:45:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 45, 49, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 13:45:49'
2026-05-30 13:46:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 46, 7, 800004, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16552, 'low': 1.16512, 'close': 1.16552, 'volume': 5.0} | asctime='2026-05-30 13:46:07'
2026-05-30 13:46:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 46, 7, 800843, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1667, 'low': 1.1663, 'close': 1.16642, 'volume': 5.0} | asctime='2026-05-30 13:46:07'
2026-05-30 13:46:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 46, 7, 812000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 13:46:07'
2026-05-30 13:46:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 46, 8, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:46:08'
2026-05-30 13:46:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 46, 9, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 13:46:09'
2026-05-30 13:46:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 46, 11, 661000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 13:46:11'
2026-05-30 13:46:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 46, 11, 784000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 13:46:11'
2026-05-30 13:46:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 46, 17, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 13:46:17'
2026-05-30 13:46:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 46, 45, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:46:45'
2026-05-30 13:48:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 48, 41, 99426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16547, 'high': 1.16547, 'low': 1.16514, 'close': 1.16539, 'volume': 7.0} | asctime='2026-05-30 13:48:41'
2026-05-30 13:48:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 48, 41, 100636, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.1667, 'low': 1.16629, 'close': 1.16629, 'volume': 7.0} | asctime='2026-05-30 13:48:41'
2026-05-30 13:48:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 48, 41, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 13:48:41'
2026-05-30 13:48:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 48, 46, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 13:48:46'
2026-05-30 13:48:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 48, 50, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:48:50'
2026-05-30 13:48:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 48, 51, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 13:48:51'
2026-05-30 13:49:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 49, 41, 448312, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16518, 'close': 1.16541, 'volume': 4.0} | asctime='2026-05-30 13:49:41'
2026-05-30 13:49:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 49, 41, 449503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16654, 'low': 1.16631, 'close': 1.16631, 'volume': 4.0} | asctime='2026-05-30 13:49:41'
2026-05-30 13:49:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 49, 41, 456000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 13:49:41'
2026-05-30 13:49:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 49, 45, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:49:45'
2026-05-30 13:49:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 49, 45, 801000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 13:49:45'
2026-05-30 13:49:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 49, 51, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 13:49:51'
2026-05-30 13:49:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 49, 52, 256000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 13:49:52'
2026-05-30 13:49:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 49, 52, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 13:49:52'
2026-05-30 13:49:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 49, 55, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 13:49:55'
2026-05-30 13:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 3, 47981, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16539, 'low': 1.16494, 'close': 1.16539, 'volume': 7.0} | asctime='2026-05-30 13:50:03'
2026-05-30 13:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 3, 48637, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.1665, 'low': 1.16612, 'close': 1.16629, 'volume': 7.0} | asctime='2026-05-30 13:50:03'
2026-05-30 13:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 3, 49702, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16514, 'high': 1.16552, 'low': 1.16494, 'close': 1.16539, 'volume': 23.0} | asctime='2026-05-30 13:50:03'
2026-05-30 13:50:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 3, 50131, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1667, 'high': 1.1667, 'low': 1.16612, 'close': 1.16629, 'volume': 23.0} | asctime='2026-05-30 13:50:03'
2026-05-30 13:50:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 3, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 13:50:03'
2026-05-30 13:50:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 5, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 13:50:05'
2026-05-30 13:50:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 9, 884000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 13:50:09'
2026-05-30 13:50:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 11, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 13:50:11'
2026-05-30 13:50:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 13, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 13:50:13'
2026-05-30 13:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 19, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 13:50:19'
2026-05-30 13:50:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 21, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 13:50:21'
2026-05-30 13:50:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 30, 988000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 13:50:30'
2026-05-30 13:50:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 33, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 13:50:33'
2026-05-30 13:50:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 39, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 13:50:39'
2026-05-30 13:50:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 39, 926000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 13:50:39'
2026-05-30 13:50:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 41, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 13:50:41'
2026-05-30 13:50:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 43, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 13:50:43'
2026-05-30 13:50:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 45, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 13:50:45'
2026-05-30 13:50:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 51, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 13:50:51'
2026-05-30 13:50:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 50, 53, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 13:50:53'
2026-05-30 13:52:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 52, 30, 246249, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16557, 'low': 1.16519, 'close': 1.16549, 'volume': 16.0} | asctime='2026-05-30 13:52:30'
2026-05-30 13:52:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 52, 30, 247441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16679, 'low': 1.16621, 'close': 1.16639, 'volume': 16.0} | asctime='2026-05-30 13:52:30'
2026-05-30 13:52:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 52, 30, 288000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 13:52:30'
2026-05-30 13:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 52, 34, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 13:52:34'
2026-05-30 13:53:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 2, 545789, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16528, 'close': 1.16528, 'volume': 2.0} | asctime='2026-05-30 13:53:02'
2026-05-30 13:53:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 2, 547103, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.1666, 'low': 1.16633, 'close': 1.1666, 'volume': 2.0} | asctime='2026-05-30 13:53:02'
2026-05-30 13:53:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 2, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 13:53:02'
2026-05-30 13:53:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 3, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 13:53:03'
2026-05-30 13:53:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 11, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:53:11'
2026-05-30 13:53:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 13, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 13:53:13'
2026-05-30 13:53:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 23, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 13:53:22'
2026-05-30 13:53:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 27, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 13:53:27'
2026-05-30 13:53:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 46, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 13:53:46'
2026-05-30 13:53:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 48, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 13:53:48'
2026-05-30 13:53:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 48, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 13:53:48'
2026-05-30 13:53:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 50, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 13:53:50'
2026-05-30 13:53:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 53, 54, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 13:53:54'
2026-05-30 13:54:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 54, 25, 945383, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16554, 'low': 1.16518, 'close': 1.16545, 'volume': 11.0} | asctime='2026-05-30 13:54:25'
2026-05-30 13:54:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 54, 25, 946207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.1668, 'low': 1.16635, 'close': 1.16635, 'volume': 11.0} | asctime='2026-05-30 13:54:25'
2026-05-30 13:54:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 54, 25, 985000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 13:54:25'
2026-05-30 13:54:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 54, 33, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 13:54:33'
2026-05-30 13:54:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 54, 34, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 13:54:34'
2026-05-30 13:54:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 54, 34, 798000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 13:54:34'
2026-05-30 13:54:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 54, 34, 922000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:54:34'
2026-05-30 13:54:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 54, 36, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 13:54:36'
2026-05-30 13:54:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 54, 42, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 13:54:42'
2026-05-30 13:55:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 20, 844328, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16514, 'close': 1.1654, 'volume': 7.0} | asctime='2026-05-30 13:55:20'
2026-05-30 13:55:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 20, 845622, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16675, 'low': 1.1663, 'close': 1.1663, 'volume': 7.0} | asctime='2026-05-30 13:55:20'
2026-05-30 13:55:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 20, 846980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16533, 'high': 1.16557, 'low': 1.16514, 'close': 1.1654, 'volume': 36.0} | asctime='2026-05-30 13:55:20'
2026-05-30 13:55:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 20, 847579, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16623, 'high': 1.1668, 'low': 1.16621, 'close': 1.1663, 'volume': 36.0} | asctime='2026-05-30 13:55:20'
2026-05-30 13:55:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 20, 855000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 13:55:20'
2026-05-30 13:55:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 54, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 13:55:54'
2026-05-30 13:55:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 55, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 13:55:55'
2026-05-30 13:55:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 56, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 13:55:56'
2026-05-30 13:55:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 58, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 13:55:58'
2026-05-30 13:55:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 55, 59, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 13:55:59'
2026-05-30 13:56:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 6, 244503, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16546, 'low': 1.16498, 'close': 1.16524, 'volume': 6.0} | asctime='2026-05-30 13:56:06'
2026-05-30 13:56:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 6, 245658, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16656, 'low': 1.16636, 'close': 1.16656, 'volume': 6.0} | asctime='2026-05-30 13:56:06'
2026-05-30 13:56:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 6, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 13:56:06'
2026-05-30 13:56:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 12, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 13:56:12'
2026-05-30 13:56:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 19, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 13:56:19'
2026-05-30 13:56:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 28, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 13:56:28'
2026-05-30 13:56:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 29, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 13:56:29'
2026-05-30 13:56:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 31, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 13:56:31'
2026-05-30 13:56:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 37, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 13:56:37'
2026-05-30 13:56:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 37, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 13:56:37'
2026-05-30 13:56:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 39, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 13:56:39'
2026-05-30 13:56:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 56, 41, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 13:56:41'
2026-05-30 13:57:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 57, 4, 593733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16537, 'low': 1.16494, 'close': 1.16536, 'volume': 10.0} | asctime='2026-05-30 13:57:04'
2026-05-30 13:57:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 57, 4, 595476, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16669, 'low': 1.16626, 'close': 1.16626, 'volume': 10.0} | asctime='2026-05-30 13:57:04'
2026-05-30 13:57:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 57, 4, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 13:57:04'
2026-05-30 13:57:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 57, 12, 332000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 13:57:12'
2026-05-30 13:57:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 57, 21, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 13:57:21'
2026-05-30 13:57:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 57, 31, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 13:57:31'
2026-05-30 13:58:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 1, 192850, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16547, 'low': 1.16528, 'close': 1.16547, 'volume': 4.0} | asctime='2026-05-30 13:58:01'
2026-05-30 13:58:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 1, 194640, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16662, 'low': 1.16632, 'close': 1.16637, 'volume': 4.0} | asctime='2026-05-30 13:58:01'
2026-05-30 13:58:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 1, 245000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 13:58:01'
2026-05-30 13:58:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 1, 367000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 13:58:01'
2026-05-30 13:58:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 3, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 13:58:03'
2026-05-30 13:58:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 5, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 13:58:05'
2026-05-30 13:58:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 7, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 13:58:07'
2026-05-30 13:58:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 28, 181000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 13:58:28'
2026-05-30 13:58:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 29, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 13:58:29'
2026-05-30 13:58:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 36, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 13:58:36'
2026-05-30 13:58:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 37, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 13:58:37'
2026-05-30 13:58:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 13, 58, 51, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 13:58:51'
2026-05-30 14:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 5, 842285, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16532, 'low': 1.16497, 'close': 1.16511, 'volume': 10.0} | asctime='2026-05-30 14:00:05'
2026-05-30 14:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 5, 844115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16664, 'low': 1.16643, 'close': 1.16643, 'volume': 10.0} | asctime='2026-05-30 14:00:05'
2026-05-30 14:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 5, 844965, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16498, 'high': 1.16547, 'low': 1.16494, 'close': 1.16511, 'volume': 30.0} | asctime='2026-05-30 14:00:05'
2026-05-30 14:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 5, 846270, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16654, 'high': 1.16669, 'low': 1.16626, 'close': 1.16643, 'volume': 30.0} | asctime='2026-05-30 14:00:05'
2026-05-30 14:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 5, 847534, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16514, 'high': 1.16557, 'low': 1.16494, 'close': 1.16511, 'volume': 89.0} | asctime='2026-05-30 14:00:05'
2026-05-30 14:00:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 5, 848675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1667, 'high': 1.1668, 'low': 1.16612, 'close': 1.16643, 'volume': 89.0} | asctime='2026-05-30 14:00:05'
2026-05-30 14:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 5, 880000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:00:05'
2026-05-30 14:00:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 13, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:00:13'
2026-05-30 14:00:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 15, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 14:00:15'
2026-05-30 14:00:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 31, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:00:31'
2026-05-30 14:00:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 51, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 14:00:51'
2026-05-30 14:00:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 55, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 14:00:55'
2026-05-30 14:00:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 0, 58, 266000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 14:00:58'
2026-05-30 14:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 2, 590849, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16554, 'low': 1.16497, 'close': 1.165, 'volume': 7.0} | asctime='2026-05-30 14:01:02'
2026-05-30 14:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 2, 592549, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16667, 'low': 1.16624, 'close': 1.16656, 'volume': 7.0} | asctime='2026-05-30 14:01:02'
2026-05-30 14:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 2, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 14:01:02'
2026-05-30 14:01:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 7, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:01:07'
2026-05-30 14:01:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 9, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:01:09'
2026-05-30 14:01:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 14, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:01:14'
2026-05-30 14:01:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 15, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 14:01:15'
2026-05-30 14:01:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 33, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 14:01:33'
2026-05-30 14:01:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 34, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:01:34'
2026-05-30 14:01:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 36, 377000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:01:36'
2026-05-30 14:01:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 38, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 14:01:38'
2026-05-30 14:01:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 38, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 14:01:38'
2026-05-30 14:01:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 1, 40, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 14:01:40'
2026-05-30 14:02:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 6, 390927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.16552, 'low': 1.16493, 'close': 1.16552, 'volume': 11.0} | asctime='2026-05-30 14:02:06'
2026-05-30 14:02:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 6, 392167, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.1667, 'low': 1.16611, 'close': 1.16642, 'volume': 11.0} | asctime='2026-05-30 14:02:06'
2026-05-30 14:02:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 6, 421000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:02:06'
2026-05-30 14:02:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 14, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 14:02:14'
2026-05-30 14:02:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 16, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 14:02:16'
2026-05-30 14:02:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 16, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:02:16'
2026-05-30 14:02:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 32, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:02:32'
2026-05-30 14:02:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 32, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 14:02:32'
2026-05-30 14:02:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 34, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 14:02:34'
2026-05-30 14:02:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 2, 40, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 14:02:40'
2026-05-30 14:03:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 32, 39630, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16499, 'high': 1.16537, 'low': 1.16499, 'close': 1.16535, 'volume': 8.0} | asctime='2026-05-30 14:03:32'
2026-05-30 14:03:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 32, 40394, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16661, 'low': 1.16625, 'close': 1.16625, 'volume': 8.0} | asctime='2026-05-30 14:03:32'
2026-05-30 14:03:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 32, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 14:03:32'
2026-05-30 14:03:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 38, 655000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:03:38'
2026-05-30 14:03:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 38, 902000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 14:03:38'
2026-05-30 14:03:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 39, 399000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:03:39'
2026-05-30 14:03:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 40, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:03:40'
2026-05-30 14:03:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 41, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 14:03:40'
2026-05-30 14:03:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 50, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:03:50'
2026-05-30 14:03:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 3, 58, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:03:58'
2026-05-30 14:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 4, 0, 840186, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16551, 'low': 1.16503, 'close': 1.16523, 'volume': 8.0} | asctime='2026-05-30 14:04:00'
2026-05-30 14:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 4, 0, 841742, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16622, 'high': 1.16668, 'low': 1.16622, 'close': 1.16655, 'volume': 8.0} | asctime='2026-05-30 14:04:00'
2026-05-30 14:04:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 4, 0, 875000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:04:00'
2026-05-30 14:04:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 4, 3, 731000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 14:04:03'
2026-05-30 14:04:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 4, 27, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:04:27'
2026-05-30 14:04:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 4, 32, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 14:04:32'
2026-05-30 14:05:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 25, 638098, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16542, 'low': 1.16513, 'close': 1.16542, 'volume': 4.0} | asctime='2026-05-30 14:05:25'
2026-05-30 14:05:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 25, 639314, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16669, 'low': 1.16632, 'close': 1.16632, 'volume': 4.0} | asctime='2026-05-30 14:05:25'
2026-05-30 14:05:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 25, 640941, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16511, 'high': 1.16554, 'low': 1.16493, 'close': 1.16542, 'volume': 38.0} | asctime='2026-05-30 14:05:25'
2026-05-30 14:05:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 25, 641657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16667, 'high': 1.1667, 'low': 1.16611, 'close': 1.16632, 'volume': 38.0} | asctime='2026-05-30 14:05:25'
2026-05-30 14:05:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 25, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:05:25'
2026-05-30 14:05:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 25, 911000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 14:05:25'
2026-05-30 14:05:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 28, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 14:05:28'
2026-05-30 14:05:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 30, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:05:30'
2026-05-30 14:05:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 31, 746000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 14:05:31'
2026-05-30 14:05:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 40, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:05:40'
2026-05-30 14:05:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 42, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:05:42'
2026-05-30 14:05:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 53, 346000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:05:53'
2026-05-30 14:05:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 5, 53, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 14:05:53'
2026-05-30 14:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 0, 38181, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16546, 'low': 1.16498, 'close': 1.16546, 'volume': 9.0} | asctime='2026-05-30 14:06:00'
2026-05-30 14:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 0, 38985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16654, 'low': 1.16615, 'close': 1.16636, 'volume': 9.0} | asctime='2026-05-30 14:06:00'
2026-05-30 14:06:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 0, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:06:00'
2026-05-30 14:06:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 10, 726000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 14:06:10'
2026-05-30 14:06:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 18, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 14:06:18'
2026-05-30 14:06:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 18, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:06:18'
2026-05-30 14:06:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 20, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:06:20'
2026-05-30 14:06:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 26, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:06:26'
2026-05-30 14:06:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 28, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:06:28'
2026-05-30 14:06:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 30, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 14:06:30'
2026-05-30 14:06:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 31, 457000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 14:06:31'
2026-05-30 14:06:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 48, 961000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:06:48'
2026-05-30 14:06:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 50, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 14:06:50'
2026-05-30 14:06:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 53, 429000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:06:53'
2026-05-30 14:06:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 53, 802000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 14:06:53'
2026-05-30 14:06:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 56, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 14:06:56'
2026-05-30 14:06:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 6, 58, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:06:58'
2026-05-30 14:07:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 0, 87635, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16555, 'low': 1.16494, 'close': 1.16502, 'volume': 15.0} | asctime='2026-05-30 14:07:00'
2026-05-30 14:07:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 0, 88681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16673, 'low': 1.16634, 'close': 1.16658, 'volume': 15.0} | asctime='2026-05-30 14:07:00'
2026-05-30 14:07:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 0, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:07:00'
2026-05-30 14:07:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 24, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:07:24'
2026-05-30 14:07:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 26, 575000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:07:26'
2026-05-30 14:07:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 31, 418000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:07:31'
2026-05-30 14:07:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 34, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:07:34'
2026-05-30 14:07:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 35, 513000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 14:07:35'
2026-05-30 14:07:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 44, 203000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 14:07:44'
2026-05-30 14:07:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 7, 46, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 14:07:46'
2026-05-30 14:09:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 9, 18, 286040, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16556, 'low': 1.16511, 'close': 1.16556, 'volume': 8.0} | asctime='2026-05-30 14:09:18'
2026-05-30 14:09:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 9, 18, 287177, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16668, 'low': 1.16615, 'close': 1.16646, 'volume': 8.0} | asctime='2026-05-30 14:09:18'
2026-05-30 14:09:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 9, 18, 301000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:09:18'
2026-05-30 14:09:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 9, 20, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 14:09:20'
2026-05-30 14:09:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 9, 26, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 14:09:26'
2026-05-30 14:09:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 9, 32, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:09:32'
2026-05-30 14:09:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 9, 33, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 14:09:33'
2026-05-30 14:09:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 9, 38, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 14:09:38'
2026-05-30 14:10:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 7, 536016, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16557, 'low': 1.16519, 'close': 1.16557, 'volume': 6.0} | asctime='2026-05-30 14:10:07'
2026-05-30 14:10:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 7, 537285, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16675, 'high': 1.16675, 'low': 1.16638, 'close': 1.16647, 'volume': 6.0} | asctime='2026-05-30 14:10:07'
2026-05-30 14:10:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 7, 537874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16534, 'high': 1.16557, 'low': 1.16494, 'close': 1.16557, 'volume': 38.0} | asctime='2026-05-30 14:10:07'
2026-05-30 14:10:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 7, 538404, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16624, 'high': 1.16675, 'low': 1.16615, 'close': 1.16647, 'volume': 38.0} | asctime='2026-05-30 14:10:07'
2026-05-30 14:10:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 7, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 14:10:07'
2026-05-30 14:10:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 8, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 14:10:08'
2026-05-30 14:10:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 15, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 14:10:15'
2026-05-30 14:10:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 16, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:10:16'
2026-05-30 14:10:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 17, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 14:10:16'
2026-05-30 14:10:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 17, 888000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 14:10:17'
2026-05-30 14:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 24, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:10:24'
2026-05-30 14:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 24, 342000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:10:24'
2026-05-30 14:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 24, 839000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 14:10:24'
2026-05-30 14:10:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 26, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 14:10:26'
2026-05-30 14:10:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 45, 825000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:10:45'
2026-05-30 14:10:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 46, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 14:10:46'
2026-05-30 14:10:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 10, 48, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:10:48'
2026-05-30 14:11:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 11, 0, 35707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16552, 'low': 1.16499, 'close': 1.16539, 'volume': 13.0} | asctime='2026-05-30 14:11:00'
2026-05-30 14:11:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 11, 0, 36530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16679, 'low': 1.16627, 'close': 1.16629, 'volume': 13.0} | asctime='2026-05-30 14:11:00'
2026-05-30 14:11:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 11, 0, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:11:00'
2026-05-30 14:11:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 11, 29, 20000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 14:11:28'
2026-05-30 14:11:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 11, 32, 744000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:11:32'
2026-05-30 14:11:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 11, 33, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:11:33'
2026-05-30 14:11:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 11, 44, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 14:11:44'
2026-05-30 14:11:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 11, 57, 572000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:11:57'
2026-05-30 14:11:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 11, 59, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:11:59'
2026-05-30 14:12:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 4, 134593, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16557, 'low': 1.1652, 'close': 1.1652, 'volume': 7.0} | asctime='2026-05-30 14:12:04'
2026-05-30 14:12:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 4, 135344, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16661, 'low': 1.16634, 'close': 1.16652, 'volume': 7.0} | asctime='2026-05-30 14:12:04'
2026-05-30 14:12:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 4, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 14:12:04'
2026-05-30 14:12:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 4, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:12:04'
2026-05-30 14:12:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 5, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:12:05'
2026-05-30 14:12:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 11, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 14:12:11'
2026-05-30 14:12:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 44, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:12:44'
2026-05-30 14:12:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 45, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 14:12:45'
2026-05-30 14:12:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 47, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:12:47'
2026-05-30 14:12:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 12, 57, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:12:57'
2026-05-30 14:13:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 5, 84978, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.1655, 'low': 1.16512, 'close': 1.16544, 'volume': 8.0} | asctime='2026-05-30 14:13:05'
2026-05-30 14:13:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 5, 85753, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16671, 'low': 1.1663, 'close': 1.16634, 'volume': 8.0} | asctime='2026-05-30 14:13:05'
2026-05-30 14:13:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 5, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:13:05'
2026-05-30 14:13:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 16, 650000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:13:16'
2026-05-30 14:13:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 22, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 14:13:22'
2026-05-30 14:13:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 23, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:13:23'
2026-05-30 14:13:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 23, 352000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:13:23'
2026-05-30 14:13:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 23, 973000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16462, 'volume': 0.0} | asctime='2026-05-30 14:13:23'
2026-05-30 14:13:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 24, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16745, 'bid_price': 1.16471, 'volume': 0.0} | asctime='2026-05-30 14:13:24'
2026-05-30 14:13:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 24, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16742, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:13:24'
2026-05-30 14:13:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 24, 469000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 14:13:24'
2026-05-30 14:13:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 24, 717000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:13:24'
2026-05-30 14:13:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 25, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:13:25'
2026-05-30 14:13:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 27, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 14:13:27'
2026-05-30 14:13:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 27, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:13:27'
2026-05-30 14:13:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 28, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 14:13:28'
2026-05-30 14:13:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 28, 814000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16568, 'volume': 0.0} | asctime='2026-05-30 14:13:28'
2026-05-30 14:13:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 30, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:13:30'
2026-05-30 14:13:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 31, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 14:13:31'
2026-05-30 14:13:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 32, 415000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 14:13:32'
2026-05-30 14:13:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 37, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:13:37'
2026-05-30 14:13:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 38, 498000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:13:38'
2026-05-30 14:13:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 49, 918000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:13:49'
2026-05-30 14:13:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 51, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:13:51'
2026-05-30 14:13:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 13, 53, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 14:13:53'
2026-05-30 14:14:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 9, 133675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16568, 'low': 1.16462, 'close': 1.16567, 'volume': 23.0} | asctime='2026-05-30 14:14:09'
2026-05-30 14:14:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 9, 134531, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16745, 'low': 1.16624, 'close': 1.16637, 'volume': 23.0} | asctime='2026-05-30 14:14:09'
2026-05-30 14:14:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 9, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:14:09'
2026-05-30 14:14:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 14, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:14:14'
2026-05-30 14:14:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 15, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:14:15'
2026-05-30 14:14:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 17, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:14:17'
2026-05-30 14:14:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 19, 836000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:14:19'
2026-05-30 14:14:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 21, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:14:21'
2026-05-30 14:14:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 22, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:14:22'
2026-05-30 14:14:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 28, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 14:14:28'
2026-05-30 14:14:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 34, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16476, 'volume': 0.0} | asctime='2026-05-30 14:14:34'
2026-05-30 14:14:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 35, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16485, 'volume': 0.0} | asctime='2026-05-30 14:14:35'
2026-05-30 14:14:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 41, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:14:41'
2026-05-30 14:14:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 14, 43, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 14:14:43'
2026-05-30 14:15:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 26, 832747, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.1653, 'low': 1.16476, 'close': 1.1653, 'volume': 12.0} | asctime='2026-05-30 14:15:26'
2026-05-30 14:15:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 26, 833901, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.1668, 'low': 1.1662, 'close': 1.1662, 'volume': 12.0} | asctime='2026-05-30 14:15:26'
2026-05-30 14:15:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 26, 836036, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16532, 'high': 1.16568, 'low': 1.16462, 'close': 1.1653, 'volume': 63.0} | asctime='2026-05-30 14:15:26'
2026-05-30 14:15:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 26, 837386, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16664, 'high': 1.16745, 'low': 1.1662, 'close': 1.1662, 'volume': 63.0} | asctime='2026-05-30 14:15:26'
2026-05-30 14:15:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 26, 838585, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16511, 'high': 1.16568, 'low': 1.16462, 'close': 1.1653, 'volume': 139.0} | asctime='2026-05-30 14:15:26'
2026-05-30 14:15:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 26, 839181, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16667, 'high': 1.16745, 'low': 1.16611, 'close': 1.1662, 'volume': 139.0} | asctime='2026-05-30 14:15:26'
2026-05-30 14:15:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 26, 874000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:15:26'
2026-05-30 14:15:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 27, 368000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16488, 'volume': 0.0} | asctime='2026-05-30 14:15:27'
2026-05-30 14:15:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 29, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:15:29'
2026-05-30 14:15:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 31, 590000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 14:15:31'
2026-05-30 14:15:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 32, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:15:32'
2026-05-30 14:15:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 32, 458000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:15:32'
2026-05-30 14:15:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 41, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 14:15:41'
2026-05-30 14:15:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 45, 245000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 14:15:45'
2026-05-30 14:15:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 45, 369000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 14:15:45'
2026-05-30 14:15:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 47, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:15:47'
2026-05-30 14:15:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 48, 349000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:15:48'
2026-05-30 14:15:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 49, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:15:49'
2026-05-30 14:15:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 51, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 14:15:51'
2026-05-30 14:15:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 55, 797000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:15:55'
2026-05-30 14:15:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 56, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 14:15:56'
2026-05-30 14:15:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 15, 59, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:15:59'
2026-05-30 14:16:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 16, 1, 81700, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16538, 'low': 1.16488, 'close': 1.16511, 'volume': 16.0} | asctime='2026-05-30 14:16:01'
2026-05-30 14:16:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 16, 1, 82493, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16673, 'low': 1.16615, 'close': 1.16643, 'volume': 16.0} | asctime='2026-05-30 14:16:01'
2026-05-30 14:16:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 16, 1, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:16:01'
2026-05-30 14:16:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 16, 10, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:16:10'
2026-05-30 14:16:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 16, 13, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 14:16:13'
2026-05-30 14:16:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 16, 57, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:16:57'
2026-05-30 14:16:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 16, 57, 742000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:16:57'
2026-05-30 14:16:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 16, 58, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:16:58'
2026-05-30 14:16:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 16, 59, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:16:59'
2026-05-30 14:17:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 13, 330684, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16553, 'low': 1.16513, 'close': 1.16539, 'volume': 7.0} | asctime='2026-05-30 14:17:13'
2026-05-30 14:17:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 13, 331818, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16615, 'high': 1.16671, 'low': 1.16615, 'close': 1.16671, 'volume': 7.0} | asctime='2026-05-30 14:17:13'
2026-05-30 14:17:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 13, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.167, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 14:17:13'
2026-05-30 14:17:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 14, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 14:17:14'
2026-05-30 14:17:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 15, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 14:17:15'
2026-05-30 14:17:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 17, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:17:17'
2026-05-30 14:17:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 30, 268000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:17:30'
2026-05-30 14:17:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 34, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 14:17:34'
2026-05-30 14:17:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 37, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:17:37'
2026-05-30 14:17:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 47, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:17:47'
2026-05-30 14:17:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 17, 49, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:17:49'
2026-05-30 14:18:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 22, 480003, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16496, 'high': 1.16541, 'low': 1.16496, 'close': 1.16513, 'volume': 9.0} | asctime='2026-05-30 14:18:22'
2026-05-30 14:18:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 22, 481050, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.167, 'high': 1.167, 'low': 1.16628, 'close': 1.16645, 'volume': 9.0} | asctime='2026-05-30 14:18:22'
2026-05-30 14:18:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 22, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 14:18:22'
2026-05-30 14:18:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 22, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:18:22'
2026-05-30 14:18:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 23, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:18:23'
2026-05-30 14:18:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 23, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 14:18:23'
2026-05-30 14:18:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 25, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 14:18:25'
2026-05-30 14:18:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 26, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:18:26'
2026-05-30 14:18:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 27, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:18:27'
2026-05-30 14:18:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 31, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 14:18:31'
2026-05-30 14:18:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 18, 56, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:18:56'
2026-05-30 14:19:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 19, 13, 880712, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16561, 'low': 1.16507, 'close': 1.16539, 'volume': 9.0} | asctime='2026-05-30 14:19:13'
2026-05-30 14:19:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 19, 13, 881806, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16687, 'low': 1.16629, 'close': 1.16629, 'volume': 9.0} | asctime='2026-05-30 14:19:13'
2026-05-30 14:19:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 19, 13, 924000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 14:19:13'
2026-05-30 14:19:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 19, 15, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:19:15'
2026-05-30 14:19:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 19, 27, 828000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:19:27'
2026-05-30 14:19:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 19, 31, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 14:19:31'
2026-05-30 14:19:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 19, 37, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:19:37'
2026-05-30 14:19:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 19, 39, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 14:19:39'
2026-05-30 14:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 3, 428744, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.1655, 'low': 1.16506, 'close': 1.1655, 'volume': 6.0} | asctime='2026-05-30 14:20:03'
2026-05-30 14:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 3, 429763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.16657, 'low': 1.16629, 'close': 1.1664, 'volume': 6.0} | asctime='2026-05-30 14:20:03'
2026-05-30 14:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 3, 430332, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16511, 'high': 1.16561, 'low': 1.16488, 'close': 1.1655, 'volume': 47.0} | asctime='2026-05-30 14:20:03'
2026-05-30 14:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 3, 430794, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16643, 'high': 1.167, 'low': 1.16615, 'close': 1.1664, 'volume': 47.0} | asctime='2026-05-30 14:20:03'
2026-05-30 14:20:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 3, 458000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 14:20:03'
2026-05-30 14:20:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 5, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:20:05'
2026-05-30 14:20:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 8, 919000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 14:20:08'
2026-05-30 14:20:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 10, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:20:10'
2026-05-30 14:20:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 16, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:20:16'
2026-05-30 14:20:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 18, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:20:18'
2026-05-30 14:20:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 22, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 14:20:22'
2026-05-30 14:20:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 24, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:20:24'
2026-05-30 14:20:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 36, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:20:36'
2026-05-30 14:20:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 38, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 14:20:38'
2026-05-30 14:20:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 42, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:20:42'
2026-05-30 14:20:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 44, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:20:44'
2026-05-30 14:20:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 20, 46, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:20:46'
2026-05-30 14:21:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 8, 578834, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16503, 'high': 1.16534, 'low': 1.16499, 'close': 1.16524, 'volume': 13.0} | asctime='2026-05-30 14:21:08'
2026-05-30 14:21:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 8, 579794, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.1667, 'low': 1.16618, 'close': 1.16656, 'volume': 13.0} | asctime='2026-05-30 14:21:08'
2026-05-30 14:21:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 8, 630000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:21:08'
2026-05-30 14:21:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 10, 243000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:21:10'
2026-05-30 14:21:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 12, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 14:21:12'
2026-05-30 14:21:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 12, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:21:12'
2026-05-30 14:21:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 12, 726000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:21:12'
2026-05-30 14:21:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 14, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:21:14'
2026-05-30 14:21:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 16, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:21:16'
2026-05-30 14:21:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 18, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 14:21:18'
2026-05-30 14:21:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 19, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 14:21:19'
2026-05-30 14:21:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 40, 40000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:21:39'
2026-05-30 14:21:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 44, 506000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:21:44'
2026-05-30 14:21:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 48, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:21:48'
2026-05-30 14:21:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 52, 203000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:21:52'
2026-05-30 14:21:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 21, 52, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:21:52'
2026-05-30 14:23:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 23, 11, 227545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16559, 'low': 1.16502, 'close': 1.16528, 'volume': 14.0} | asctime='2026-05-30 14:23:11'
2026-05-30 14:23:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 23, 11, 228453, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.1667, 'low': 1.16618, 'close': 1.16618, 'volume': 14.0} | asctime='2026-05-30 14:23:11'
2026-05-30 14:23:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 23, 11, 280000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 14:23:11'
2026-05-30 14:23:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 23, 24, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 14:23:24'
2026-05-30 14:23:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 23, 24, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 14:23:24'
2026-05-30 14:23:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 23, 30, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 14:23:30'
2026-05-30 14:23:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 23, 32, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:23:32'
2026-05-30 14:23:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 23, 34, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 14:23:34'
2026-05-30 14:23:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 23, 38, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:23:38'
2026-05-30 14:24:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 0, 527087, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16544, 'low': 1.16503, 'close': 1.16544, 'volume': 7.0} | asctime='2026-05-30 14:24:00'
2026-05-30 14:24:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 0, 527729, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16668, 'low': 1.16623, 'close': 1.16634, 'volume': 7.0} | asctime='2026-05-30 14:24:00'
2026-05-30 14:24:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 0, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:24:00'
2026-05-30 14:24:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 2, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:24:02'
2026-05-30 14:24:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 2, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:24:02'
2026-05-30 14:24:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 3, 45000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 14:24:02'
2026-05-30 14:24:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 20, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 14:24:20'
2026-05-30 14:24:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 20, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 14:24:20'
2026-05-30 14:24:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 21, 915000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:24:21'
2026-05-30 14:24:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 24, 24, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16567, 'volume': 0.0} | asctime='2026-05-30 14:24:24'
2026-05-30 14:25:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 25, 23, 76134, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16499, 'high': 1.16567, 'low': 1.16499, 'close': 1.16567, 'volume': 8.0} | asctime='2026-05-30 14:25:23'
2026-05-30 14:25:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 25, 23, 77415, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16676, 'low': 1.16622, 'close': 1.16657, 'volume': 8.0} | asctime='2026-05-30 14:25:23'
2026-05-30 14:25:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 25, 23, 79211, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16503, 'high': 1.16567, 'low': 1.16499, 'close': 1.16567, 'volume': 42.0} | asctime='2026-05-30 14:25:23'
2026-05-30 14:25:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 25, 23, 79817, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16659, 'high': 1.16676, 'low': 1.16618, 'close': 1.16657, 'volume': 42.0} | asctime='2026-05-30 14:25:23'
2026-05-30 14:25:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 25, 23, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 14:25:23'
2026-05-30 14:25:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 25, 24, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 14:25:24'
2026-05-30 14:26:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 3, 26089, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16552, 'low': 1.16538, 'close': 1.16552, 'volume': 2.0} | asctime='2026-05-30 14:26:03'
2026-05-30 14:26:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 3, 26874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1667, 'low': 1.16642, 'close': 1.16642, 'volume': 2.0} | asctime='2026-05-30 14:26:03'
2026-05-30 14:26:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 3, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:26:03'
2026-05-30 14:26:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 11, 408000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:26:11'
2026-05-30 14:26:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 12, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 14:26:12'
2026-05-30 14:26:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 16, 868000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 14:26:16'
2026-05-30 14:26:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 27, 297000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 14:26:27'
2026-05-30 14:26:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 27, 420000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:26:27'
2026-05-30 14:26:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 28, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 14:26:28'
2026-05-30 14:26:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 34, 745000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:26:34'
2026-05-30 14:26:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 36, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:26:36'
2026-05-30 14:26:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 46, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:26:46'
2026-05-30 14:26:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 26, 55, 848000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 14:26:55'
2026-05-30 14:27:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 1, 25787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16554, 'low': 1.16501, 'close': 1.16501, 'volume': 11.0} | asctime='2026-05-30 14:27:01'
2026-05-30 14:27:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 1, 26593, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16681, 'low': 1.16635, 'close': 1.16681, 'volume': 11.0} | asctime='2026-05-30 14:27:01'
2026-05-30 14:27:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 1, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 14:27:01'
2026-05-30 14:27:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 2, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:27:02'
2026-05-30 14:27:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 10, 745000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:27:10'
2026-05-30 14:27:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 12, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 14:27:12'
2026-05-30 14:27:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 14, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 14:27:14'
2026-05-30 14:27:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 18, 939000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:27:18'
2026-05-30 14:27:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 22, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:27:22'
2026-05-30 14:27:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 26, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 14:27:26'
2026-05-30 14:27:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 29, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 14:27:29'
2026-05-30 14:27:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 30, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 14:27:30'
2026-05-30 14:27:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 33, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:27:33'
2026-05-30 14:27:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 38, 552000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:27:38'
2026-05-30 14:27:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 40, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 14:27:40'
2026-05-30 14:27:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 43, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 14:27:43'
2026-05-30 14:27:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 43, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 14:27:43'
2026-05-30 14:27:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 44, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:27:44'
2026-05-30 14:27:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 44, 262000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 14:27:44'
2026-05-30 14:27:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 44, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 14:27:44'
2026-05-30 14:27:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 46, 498000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 14:27:46'
2026-05-30 14:27:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 46, 745000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16695, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 14:27:46'
2026-05-30 14:27:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 47, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16696, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 14:27:47'
2026-05-30 14:27:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 48, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 14:27:48'
2026-05-30 14:27:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 49, 477000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 14:27:49'
2026-05-30 14:27:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 50, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:27:50'
2026-05-30 14:27:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 51, 712000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:27:51'
2026-05-30 14:27:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 52, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 14:27:52'
2026-05-30 14:27:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 53, 325000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:27:53'
2026-05-30 14:27:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 53, 449000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:27:53'
2026-05-30 14:27:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 27, 55, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:27:55'
2026-05-30 14:28:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 1, 75073, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16495, 'high': 1.16557, 'low': 1.16491, 'close': 1.16517, 'volume': 29.0} | asctime='2026-05-30 14:28:01'
2026-05-30 14:28:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 1, 76701, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16696, 'low': 1.16629, 'close': 1.16649, 'volume': 29.0} | asctime='2026-05-30 14:28:01'
2026-05-30 14:28:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 1, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 14:28:01'
2026-05-30 14:28:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 2, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 14:28:01'
2026-05-30 14:28:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 5, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:28:05'
2026-05-30 14:28:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 5, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 14:28:05'
2026-05-30 14:28:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 6, 360000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 14:28:06'
2026-05-30 14:28:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 7, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:28:07'
2026-05-30 14:28:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 11, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:28:11'
2026-05-30 14:28:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 12, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:28:12'
2026-05-30 14:28:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 13, 810000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:28:13'
2026-05-30 14:28:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 15, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 14:28:15'
2026-05-30 14:28:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 40, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:28:40'
2026-05-30 14:28:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 28, 43, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 14:28:43'
2026-05-30 14:29:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 7, 274842, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16562, 'low': 1.16497, 'close': 1.16549, 'volume': 12.0} | asctime='2026-05-30 14:29:07'
2026-05-30 14:29:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 7, 275887, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16664, 'low': 1.16615, 'close': 1.16619, 'volume': 12.0} | asctime='2026-05-30 14:29:07'
2026-05-30 14:29:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 7, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 14:29:07'
2026-05-30 14:29:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 9, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 14:29:09'
2026-05-30 14:29:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 12, 650000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:29:12'
2026-05-30 14:29:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 13, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 14:29:13'
2026-05-30 14:29:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 33, 382000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:29:33'
2026-05-30 14:29:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 37, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 14:29:37'
2026-05-30 14:29:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 39, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:29:39'
2026-05-30 14:29:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 56, 347000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 14:29:56'
2026-05-30 14:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 58, 831000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:29:58'
2026-05-30 14:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 29, 59, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:29:59'
2026-05-30 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 1, 23647, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16557, 'low': 1.16507, 'close': 1.16507, 'volume': 10.0} | asctime='2026-05-30 14:30:01'
2026-05-30 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 1, 24363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16676, 'low': 1.16625, 'close': 1.16663, 'volume': 10.0} | asctime='2026-05-30 14:30:01'
2026-05-30 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 1, 26049, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16538, 'high': 1.16562, 'low': 1.16491, 'close': 1.16507, 'volume': 64.0} | asctime='2026-05-30 14:30:01'
2026-05-30 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 1, 27037, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1667, 'high': 1.16696, 'low': 1.16615, 'close': 1.16663, 'volume': 64.0} | asctime='2026-05-30 14:30:01'
2026-05-30 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 1, 27999, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16511, 'high': 1.16567, 'low': 1.16488, 'close': 1.16507, 'volume': 153.0} | asctime='2026-05-30 14:30:01'
2026-05-30 14:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 1, 28997, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16643, 'high': 1.167, 'low': 1.16615, 'close': 1.16663, 'volume': 153.0} | asctime='2026-05-30 14:30:01'
2026-05-30 14:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 1, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 14:30:01'
2026-05-30 14:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 1, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:30:01'
2026-05-30 14:30:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 7, 25000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 14:30:06'
2026-05-30 14:30:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 9, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 14:30:09'
2026-05-30 14:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 12, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:30:12'
2026-05-30 14:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 12, 362000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:30:12'
2026-05-30 14:30:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 13, 852000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:30:13'
2026-05-30 14:30:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 14, 224000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:30:14'
2026-05-30 14:30:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 14, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:30:14'
2026-05-30 14:30:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 14, 720000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:30:14'
2026-05-30 14:30:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 14, 844000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:30:14'
2026-05-30 14:30:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 15, 838000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 14:30:15'
2026-05-30 14:30:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 17, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 14:30:17'
2026-05-30 14:30:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 25, 769000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:30:25'
2026-05-30 14:30:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 26, 638000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:30:26'
2026-05-30 14:30:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 26, 762000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:30:26'
2026-05-30 14:30:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 27, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 14:30:27'
2026-05-30 14:30:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 27, 258000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 14:30:27'
2026-05-30 14:30:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 27, 755000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 14:30:27'
2026-05-30 14:30:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 27, 879000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 14:30:27'
2026-05-30 14:30:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 29, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 14:30:29'
2026-05-30 14:30:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 29, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 14:30:29'
2026-05-30 14:30:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 30, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:30:30'
2026-05-30 14:30:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 31, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:30:31'
2026-05-30 14:30:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 33, 218000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:30:33'
2026-05-30 14:30:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 34, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 14:30:34'
2026-05-30 14:30:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 35, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:30:35'
2026-05-30 14:30:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 36, 942000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:30:36'
2026-05-30 14:30:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 37, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16471, 'volume': 0.0} | asctime='2026-05-30 14:30:37'
2026-05-30 14:30:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 38, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 14:30:38'
2026-05-30 14:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 40, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:30:40'
2026-05-30 14:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 40, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:30:40'
2026-05-30 14:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 40, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:30:40'
2026-05-30 14:30:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 40, 915000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:30:40'
2026-05-30 14:30:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 42, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 14:30:42'
2026-05-30 14:30:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 44, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 14:30:44'
2026-05-30 14:30:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 45, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1661, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 14:30:45'
2026-05-30 14:30:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 57, 922000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 14:30:57'
2026-05-30 14:30:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 59, 972796, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16566, 'low': 1.16471, 'close': 1.16498, 'volume': 38.0} | asctime='2026-05-30 14:30:59'
2026-05-30 14:30:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 30, 59, 974191, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16699, 'low': 1.1661, 'close': 1.16654, 'volume': 38.0} | asctime='2026-05-30 14:30:59'
2026-05-30 14:30:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 31, 0, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 14:30:59'
2026-05-30 14:31:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 31, 2, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:31:02'
2026-05-30 14:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 31, 4, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:31:04'
2026-05-30 14:31:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 31, 14, 557000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:31:14'
2026-05-30 14:31:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 31, 16, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:31:16'
2026-05-30 14:31:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 31, 48, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 14:31:48'
2026-05-30 14:31:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 31, 50, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 14:31:50'
2026-05-30 14:31:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 31, 50, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:31:50'
2026-05-30 14:31:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 31, 59, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:31:59'
2026-05-30 14:32:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 6, 22125, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16503, 'high': 1.16557, 'low': 1.16503, 'close': 1.16524, 'volume': 9.0} | asctime='2026-05-30 14:32:06'
2026-05-30 14:32:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 6, 23155, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16656, 'low': 1.16614, 'close': 1.16656, 'volume': 9.0} | asctime='2026-05-30 14:32:06'
2026-05-30 14:32:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 6, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 14:32:06'
2026-05-30 14:32:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 8, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:32:08'
2026-05-30 14:32:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 9, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 14:32:09'
2026-05-30 14:32:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 10, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 14:32:09'
2026-05-30 14:32:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 19, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 14:32:19'
2026-05-30 14:32:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 41, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 14:32:41'
2026-05-30 14:32:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 47, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 14:32:47'
2026-05-30 14:32:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 49, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:32:49'
2026-05-30 14:32:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 50, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 14:32:50'
2026-05-30 14:32:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 55, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 14:32:55'
2026-05-30 14:32:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 55, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 14:32:55'
2026-05-30 14:32:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 57, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:32:57'
2026-05-30 14:32:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 57, 221000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:32:57'
2026-05-30 14:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 58, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 14:32:58'
2026-05-30 14:32:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 32, 59, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:32:59'
2026-05-30 14:33:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 33, 3, 21428, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16552, 'high': 1.16552, 'low': 1.16489, 'close': 1.16513, 'volume': 15.0} | asctime='2026-05-30 14:33:03'
2026-05-30 14:33:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 33, 3, 23112, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16658, 'low': 1.16612, 'close': 1.16645, 'volume': 15.0} | asctime='2026-05-30 14:33:03'
2026-05-30 14:33:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 33, 3, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 14:33:03'
2026-05-30 14:33:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 33, 33, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:33:33'
2026-05-30 14:33:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 33, 40, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:33:40'
2026-05-30 14:33:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 33, 40, 919000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:33:40'
2026-05-30 14:33:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 33, 43, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 14:33:43'
2026-05-30 14:33:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 33, 45, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:33:45'
2026-05-30 14:33:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 33, 50, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:33:50'
2026-05-30 14:34:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 5, 72432, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16541, 'low': 1.16507, 'close': 1.16534, 'volume': 7.0} | asctime='2026-05-30 14:34:05'
2026-05-30 14:34:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 5, 73790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16666, 'low': 1.16623, 'close': 1.16624, 'volume': 7.0} | asctime='2026-05-30 14:34:05'
2026-05-30 14:34:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 5, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:34:05'
2026-05-30 14:34:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 7, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:34:07'
2026-05-30 14:34:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 9, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 14:34:09'
2026-05-30 14:34:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 11, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 14:34:11'
2026-05-30 14:34:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 15, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:34:15'
2026-05-30 14:34:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 19, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:34:19'
2026-05-30 14:34:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 22, 258000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:34:22'
2026-05-30 14:34:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 22, 382000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:34:22'
2026-05-30 14:34:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 23, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 14:34:22'
2026-05-30 14:34:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 32, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:34:32'
2026-05-30 14:34:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 33, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 14:34:33'
2026-05-30 14:34:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 33, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 14:34:33'
2026-05-30 14:34:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 35, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:34:35'
2026-05-30 14:34:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 38, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:34:37'
2026-05-30 14:34:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 47, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:34:47'
2026-05-30 14:34:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 48, 203000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:34:48'
2026-05-30 14:34:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 49, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:34:49'
2026-05-30 14:34:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 51, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:34:51'
2026-05-30 14:34:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 34, 57, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:34:57'
2026-05-30 14:35:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 4, 749476, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16555, 'low': 1.16499, 'close': 1.16528, 'volume': 19.0} | asctime='2026-05-30 14:35:04'
2026-05-30 14:35:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 4, 750208, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16671, 'low': 1.16624, 'close': 1.1666, 'volume': 19.0} | asctime='2026-05-30 14:35:04'
2026-05-30 14:35:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 4, 751141, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16529, 'high': 1.16566, 'low': 1.16471, 'close': 1.16528, 'volume': 88.0} | asctime='2026-05-30 14:35:04'
2026-05-30 14:35:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 4, 752273, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16661, 'high': 1.16699, 'low': 1.1661, 'close': 1.1666, 'volume': 88.0} | asctime='2026-05-30 14:35:04'
2026-05-30 14:35:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 4, 715000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 14:35:04'
2026-05-30 14:35:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 5, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:35:05'
2026-05-30 14:35:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 5, 459000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:35:05'
2026-05-30 14:35:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 6, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:35:06'
2026-05-30 14:35:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 11, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 14:35:11'
2026-05-30 14:35:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 12, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:35:12'
2026-05-30 14:35:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 15, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:35:15'
2026-05-30 14:35:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 17, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 14:35:16'
2026-05-30 14:35:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 21, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16613, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:35:21'
2026-05-30 14:35:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 23, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:35:23'
2026-05-30 14:35:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 35, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:35:35'
2026-05-30 14:35:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 35, 44, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 14:35:44'
2026-05-30 14:36:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 22, 119143, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16544, 'low': 1.16492, 'close': 1.16536, 'volume': 12.0} | asctime='2026-05-30 14:36:22'
2026-05-30 14:36:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 22, 120624, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16666, 'low': 1.16613, 'close': 1.16626, 'volume': 12.0} | asctime='2026-05-30 14:36:22'
2026-05-30 14:36:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 22, 178000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:36:22'
2026-05-30 14:36:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 22, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:36:22'
2026-05-30 14:36:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 23, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:36:23'
2026-05-30 14:36:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 31, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 14:36:31'
2026-05-30 14:36:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 37, 323000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:36:37'
2026-05-30 14:36:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 54, 827000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:36:54'
2026-05-30 14:36:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 55, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 14:36:55'
2026-05-30 14:36:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 36, 57, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:36:57'
2026-05-30 14:37:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 5, 69347, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16542, 'low': 1.16502, 'close': 1.16515, 'volume': 8.0} | asctime='2026-05-30 14:37:05'
2026-05-30 14:37:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 5, 70057, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16671, 'low': 1.16632, 'close': 1.16647, 'volume': 8.0} | asctime='2026-05-30 14:37:05'
2026-05-30 14:37:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 5, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:37:05'
2026-05-30 14:37:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 7, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:37:07'
2026-05-30 14:37:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 8, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 14:37:08'
2026-05-30 14:37:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 23, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 14:37:23'
2026-05-30 14:37:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 25, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 14:37:25'
2026-05-30 14:37:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 28, 718000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 14:37:28'
2026-05-30 14:37:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 29, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 14:37:29'
2026-05-30 14:37:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 29, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 14:37:29'
2026-05-30 14:37:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 39, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:37:39'
2026-05-30 14:37:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 37, 48, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 14:37:48'
2026-05-30 14:38:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 3, 68257, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16561, 'low': 1.16508, 'close': 1.1652, 'volume': 10.0} | asctime='2026-05-30 14:38:03'
2026-05-30 14:38:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 3, 69363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16676, 'low': 1.16629, 'close': 1.16676, 'volume': 10.0} | asctime='2026-05-30 14:38:03'
2026-05-30 14:38:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 3, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:38:03'
2026-05-30 14:38:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 3, 848000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:38:03'
2026-05-30 14:38:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 7, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:38:07'
2026-05-30 14:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 16, 511000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:38:16'
2026-05-30 14:38:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 16, 759000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:38:16'
2026-05-30 14:38:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 17, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:38:17'
2026-05-30 14:38:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 18, 372000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:38:18'
2026-05-30 14:38:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 18, 496000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 14:38:18'
2026-05-30 14:38:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 19, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:38:19'
2026-05-30 14:38:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 21, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:38:21'
2026-05-30 14:38:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 21, 724000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:38:21'
2026-05-30 14:38:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 23, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:38:23'
2026-05-30 14:38:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 23, 462000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:38:23'
2026-05-30 14:38:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 23, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 14:38:23'
2026-05-30 14:38:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 27, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:38:27'
2026-05-30 14:38:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 27, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 14:38:27'
2026-05-30 14:38:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 28, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:38:28'
2026-05-30 14:38:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 31, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:38:31'
2026-05-30 14:38:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 39, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:38:39'
2026-05-30 14:38:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 51, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 14:38:50'
2026-05-30 14:38:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 38, 54, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 14:38:54'
2026-05-30 14:39:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 3, 17668, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16539, 'low': 1.16493, 'close': 1.16495, 'volume': 21.0} | asctime='2026-05-30 14:39:03'
2026-05-30 14:39:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 3, 18813, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1668, 'high': 1.1668, 'low': 1.16615, 'close': 1.16651, 'volume': 21.0} | asctime='2026-05-30 14:39:03'
2026-05-30 14:39:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 3, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:39:03'
2026-05-30 14:39:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 5, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:39:05'
2026-05-30 14:39:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 7, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 14:39:07'
2026-05-30 14:39:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 12, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:39:11'
2026-05-30 14:39:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 13, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 14:39:13'
2026-05-30 14:39:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 15, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:39:15'
2026-05-30 14:39:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 17, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:39:17'
2026-05-30 14:39:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 20, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:39:20'
2026-05-30 14:39:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 24, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:39:23'
2026-05-30 14:39:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 25, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 14:39:25'
2026-05-30 14:39:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 28, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:39:28'
2026-05-30 14:39:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 30, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:39:30'
2026-05-30 14:39:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 31, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:39:31'
2026-05-30 14:39:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 38, 568000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 14:39:38'
2026-05-30 14:39:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 38, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:39:38'
2026-05-30 14:39:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 39, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:39:39'
2026-05-30 14:39:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 41, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 14:39:41'
2026-05-30 14:39:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 45, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 14:39:45'
2026-05-30 14:39:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 39, 47, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 14:39:47'
2026-05-30 14:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 1, 367364, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16553, 'low': 1.16502, 'close': 1.16553, 'volume': 19.0} | asctime='2026-05-30 14:40:01'
2026-05-30 14:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 1, 368382, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16675, 'low': 1.16623, 'close': 1.16623, 'volume': 19.0} | asctime='2026-05-30 14:40:01'
2026-05-30 14:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 1, 369326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16526, 'high': 1.16561, 'low': 1.16492, 'close': 1.16553, 'volume': 70.0} | asctime='2026-05-30 14:40:01'
2026-05-30 14:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 1, 369820, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.1668, 'low': 1.16613, 'close': 1.16623, 'volume': 70.0} | asctime='2026-05-30 14:40:01'
2026-05-30 14:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 1, 410000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 14:40:01'
2026-05-30 14:40:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 20, 899000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 14:40:20'
2026-05-30 14:40:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 21, 892000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:40:21'
2026-05-30 14:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 22, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:40:22'
2026-05-30 14:40:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 24, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:40:24'
2026-05-30 14:40:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 46, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 14:40:46'
2026-05-30 14:40:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 52, 306000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:40:52'
2026-05-30 14:40:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 53, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:40:53'
2026-05-30 14:40:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 54, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:40:54'
2026-05-30 14:40:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 54, 417000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:40:54'
2026-05-30 14:40:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 40, 56, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 14:40:56'
2026-05-30 14:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 41, 2, 567135, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16548, 'low': 1.16509, 'close': 1.16526, 'volume': 11.0} | asctime='2026-05-30 14:41:02'
2026-05-30 14:41:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 41, 2, 567930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16675, 'low': 1.16616, 'close': 1.16616, 'volume': 11.0} | asctime='2026-05-30 14:41:02'
2026-05-30 14:41:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 41, 2, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:41:02'
2026-05-30 14:41:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 41, 3, 479000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 14:41:03'
2026-05-30 14:41:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 41, 3, 603000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:41:03'
2026-05-30 14:41:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 41, 4, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:41:04'
2026-05-30 14:41:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 41, 6, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 14:41:06'
2026-05-30 14:41:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 41, 12, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 14:41:12'
2026-05-30 14:41:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 41, 49, 786000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:41:49'
2026-05-30 14:42:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 4, 16325, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16538, 'low': 1.16507, 'close': 1.16513, 'volume': 7.0} | asctime='2026-05-30 14:42:04'
2026-05-30 14:42:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 4, 17129, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16645, 'low': 1.16616, 'close': 1.16645, 'volume': 7.0} | asctime='2026-05-30 14:42:04'
2026-05-30 14:42:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 4, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:42:04'
2026-05-30 14:42:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 25, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:42:25'
2026-05-30 14:42:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 26, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 14:42:26'
2026-05-30 14:42:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 28, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:42:28'
2026-05-30 14:42:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 48, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 14:42:48'
2026-05-30 14:42:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 48, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 14:42:48'
2026-05-30 14:42:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 49, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 14:42:49'
2026-05-30 14:42:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 42, 50, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 14:42:50'
2026-05-30 14:43:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 15, 364930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16543, 'low': 1.16491, 'close': 1.16543, 'volume': 8.0} | asctime='2026-05-30 14:43:15'
2026-05-30 14:43:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 15, 365903, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16651, 'low': 1.16614, 'close': 1.16633, 'volume': 8.0} | asctime='2026-05-30 14:43:15'
2026-05-30 14:43:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 15, 440000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:43:15'
2026-05-30 14:43:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 17, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 14:43:17'
2026-05-30 14:43:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 18, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 14:43:17'
2026-05-30 14:43:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 19, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:43:19'
2026-05-30 14:43:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 21, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:43:21'
2026-05-30 14:43:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 27, 482000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:43:27'
2026-05-30 14:43:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 29, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:43:29'
2026-05-30 14:43:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 36, 296000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 14:43:36'
2026-05-30 14:43:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 37, 786000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 14:43:37'
2026-05-30 14:43:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 39, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 14:43:39'
2026-05-30 14:43:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 41, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 14:43:41'
2026-05-30 14:43:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 42, 6000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:43:41'
2026-05-30 14:43:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 42, 254000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 14:43:42'
2026-05-30 14:43:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 42, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 14:43:42'
2026-05-30 14:43:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 43, 59, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 14:43:59'
2026-05-30 14:44:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 0, 464580, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16539, 'low': 1.16489, 'close': 1.16531, 'volume': 15.0} | asctime='2026-05-30 14:44:00'
2026-05-30 14:44:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 0, 466193, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16656, 'low': 1.16618, 'close': 1.16621, 'volume': 15.0} | asctime='2026-05-30 14:44:00'
2026-05-30 14:44:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 0, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:44:00'
2026-05-30 14:44:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 0, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:44:00'
2026-05-30 14:44:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 1, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:44:01'
2026-05-30 14:44:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 2, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:44:02'
2026-05-30 14:44:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 3, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:44:03'
2026-05-30 14:44:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 5, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:44:05'
2026-05-30 14:44:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 8, 324000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 14:44:08'
2026-05-30 14:44:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 14, 532000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 14:44:14'
2026-05-30 14:44:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 44, 33, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:44:33'
2026-05-30 14:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 0, 514597, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16518, 'low': 1.16493, 'close': 1.16517, 'volume': 9.0} | asctime='2026-05-30 14:45:00'
2026-05-30 14:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 0, 516086, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16666, 'low': 1.16608, 'close': 1.16649, 'volume': 9.0} | asctime='2026-05-30 14:45:00'
2026-05-30 14:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 0, 517132, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16529, 'high': 1.16548, 'low': 1.16489, 'close': 1.16517, 'volume': 50.0} | asctime='2026-05-30 14:45:00'
2026-05-30 14:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 0, 517980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16661, 'high': 1.16675, 'low': 1.16608, 'close': 1.16649, 'volume': 50.0} | asctime='2026-05-30 14:45:00'
2026-05-30 14:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 0, 518772, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16529, 'high': 1.16566, 'low': 1.16471, 'close': 1.16517, 'volume': 208.0} | asctime='2026-05-30 14:45:00'
2026-05-30 14:45:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 0, 519629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16661, 'high': 1.16699, 'low': 1.16608, 'close': 1.16649, 'volume': 208.0} | asctime='2026-05-30 14:45:00'
2026-05-30 14:45:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 0, 587000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 14:45:00'
2026-05-30 14:45:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 1, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 14:45:02'
2026-05-30 14:45:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 3, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:45:03'
2026-05-30 14:45:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 5, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 14:45:05'
2026-05-30 14:45:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 7, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 14:45:07'
2026-05-30 14:45:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 7, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16488, 'volume': 0.0} | asctime='2026-05-30 14:45:07'
2026-05-30 14:45:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 9, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 14:45:09'
2026-05-30 14:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 16, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 14:45:16'
2026-05-30 14:45:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 17, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 14:45:17'
2026-05-30 14:45:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 17, 346000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 14:45:17'
2026-05-30 14:45:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 18, 339000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 14:45:18'
2026-05-30 14:45:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 21, 815000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:45:21'
2026-05-30 14:45:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 23, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:45:23'
2026-05-30 14:45:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 25, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:45:25'
2026-05-30 14:45:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 30, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 14:45:29'
2026-05-30 14:45:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 31, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 14:45:31'
2026-05-30 14:45:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 31, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16477, 'volume': 0.0} | asctime='2026-05-30 14:45:31'
2026-05-30 14:45:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 33, 733000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:45:33'
2026-05-30 14:45:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 34, 478000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:45:34'
2026-05-30 14:45:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 39, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:45:39'
2026-05-30 14:45:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 43, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:45:43'
2026-05-30 14:45:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 46, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 14:45:46'
2026-05-30 14:45:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 48, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:45:47'
2026-05-30 14:45:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 45, 49, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 14:45:49'
2026-05-30 14:46:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 2, 114292, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16494, 'high': 1.16544, 'low': 1.16477, 'close': 1.16502, 'volume': 24.0} | asctime='2026-05-30 14:46:02'
2026-05-30 14:46:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 2, 115361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16666, 'low': 1.16608, 'close': 1.16634, 'volume': 24.0} | asctime='2026-05-30 14:46:02'
2026-05-30 14:46:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 2, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16479, 'volume': 0.0} | asctime='2026-05-30 14:46:02'
2026-05-30 14:46:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 3, 29000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 14:46:02'
2026-05-30 14:46:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 9, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 14:46:09'
2026-05-30 14:46:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 22, 271000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 14:46:22'
2026-05-30 14:46:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 23, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:46:23'
2026-05-30 14:46:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 25, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 14:46:25'
2026-05-30 14:46:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 47, 349000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:46:47'
2026-05-30 14:46:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 51, 322000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 14:46:51'
2026-05-30 14:46:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 46, 59, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:46:59'
2026-05-30 14:47:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 47, 1, 63169, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16479, 'high': 1.16556, 'low': 1.16479, 'close': 1.16511, 'volume': 9.0} | asctime='2026-05-30 14:47:01'
2026-05-30 14:47:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 47, 1, 64997, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16679, 'low': 1.16631, 'close': 1.16643, 'volume': 9.0} | asctime='2026-05-30 14:47:01'
2026-05-30 14:47:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 47, 1, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 14:47:01'
2026-05-30 14:47:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 47, 33, 653000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:47:33'
2026-05-30 14:47:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 47, 36, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 14:47:36'
2026-05-30 14:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 4, 261943, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16551, 'low': 1.16511, 'close': 1.16551, 'volume': 3.0} | asctime='2026-05-30 14:48:04'
2026-05-30 14:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 4, 262987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16667, 'low': 1.16628, 'close': 1.16641, 'volume': 3.0} | asctime='2026-05-30 14:48:04'
2026-05-30 14:48:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 4, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 14:48:04'
2026-05-30 14:48:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 8, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:48:08'
2026-05-30 14:48:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 14, 371000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 14:48:14'
2026-05-30 14:48:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 22, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16485, 'volume': 0.0} | asctime='2026-05-30 14:48:22'
2026-05-30 14:48:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 22, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16483, 'volume': 0.0} | asctime='2026-05-30 14:48:22'
2026-05-30 14:48:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 24, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16485, 'volume': 0.0} | asctime='2026-05-30 14:48:24'
2026-05-30 14:48:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 32, 371000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 14:48:32'
2026-05-30 14:48:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 34, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 14:48:34'
2026-05-30 14:48:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 37, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 14:48:37'
2026-05-30 14:48:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 38, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:48:38'
2026-05-30 14:48:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 40, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 14:48:40'
2026-05-30 14:48:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 41, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 14:48:41'
2026-05-30 14:48:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 48, 53, 848000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 14:48:53'
2026-05-30 14:49:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 2, 112345, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16548, 'low': 1.16483, 'close': 1.16525, 'volume': 13.0} | asctime='2026-05-30 14:49:02'
2026-05-30 14:49:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 2, 113090, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16687, 'low': 1.16627, 'close': 1.16657, 'volume': 13.0} | asctime='2026-05-30 14:49:02'
2026-05-30 14:49:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 2, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 14:49:02'
2026-05-30 14:49:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 4, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 14:49:04'
2026-05-30 14:49:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 6, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 14:49:06'
2026-05-30 14:49:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 8, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 14:49:08'
2026-05-30 14:49:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 10, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 14:49:10'
2026-05-30 14:49:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 13, 462000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:49:13'
2026-05-30 14:49:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 13, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 14:49:13'
2026-05-30 14:49:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 16, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:49:16'
2026-05-30 14:49:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 18, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 14:49:18'
2026-05-30 14:49:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 18, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 14:49:18'
2026-05-30 14:49:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 22, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:49:22'
2026-05-30 14:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 30, 593000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:49:30'
2026-05-30 14:49:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 54, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 14:49:54'
2026-05-30 14:49:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 49, 56, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 14:49:56'
2026-05-30 14:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 4, 561582, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16521, 'high': 1.16555, 'low': 1.16501, 'close': 1.16555, 'volume': 14.0} | asctime='2026-05-30 14:50:04'
2026-05-30 14:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 4, 562613, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16659, 'low': 1.16615, 'close': 1.16625, 'volume': 14.0} | asctime='2026-05-30 14:50:04'
2026-05-30 14:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 4, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16494, 'high': 1.16556, 'low': 1.16477, 'close': 1.16555, 'volume': 63.0} | asctime='2026-05-30 14:50:04'
2026-05-30 14:50:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 4, 564924, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1665, 'high': 1.16687, 'low': 1.16608, 'close': 1.16625, 'volume': 63.0} | asctime='2026-05-30 14:50:04'
2026-05-30 14:50:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 4, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 14:50:04'
2026-05-30 14:50:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 18, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 14:50:18'
2026-05-30 14:50:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 19, 8000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:50:18'
2026-05-30 14:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 19, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:50:19'
2026-05-30 14:50:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 28, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16606, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 14:50:28'
2026-05-30 14:50:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 35, 768000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.1648, 'volume': 0.0} | asctime='2026-05-30 14:50:35'
2026-05-30 14:50:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 50, 40, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:50:40'
2026-05-30 14:51:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 13, 60513, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16545, 'low': 1.1648, 'close': 1.16545, 'volume': 7.0} | asctime='2026-05-30 14:51:13'
2026-05-30 14:51:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 13, 62037, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.1666, 'low': 1.16606, 'close': 1.16615, 'volume': 7.0} | asctime='2026-05-30 14:51:13'
2026-05-30 14:51:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 13, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 14:51:13'
2026-05-30 14:51:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 16, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:51:16'
2026-05-30 14:51:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 17, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 14:51:17'
2026-05-30 14:51:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 37, 466000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 14:51:37'
2026-05-30 14:51:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 44, 293000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:51:44'
2026-05-30 14:51:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 44, 416000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 14:51:44'
2026-05-30 14:51:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 52, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 14:51:52'
2026-05-30 14:51:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 53, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 14:51:53'
2026-05-30 14:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 51, 55, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:51:55'
2026-05-30 14:52:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 52, 1, 486437, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16545, 'low': 1.16503, 'close': 1.16545, 'volume': 9.0} | asctime='2026-05-30 14:52:01'
2026-05-30 14:52:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 52, 1, 487659, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16666, 'low': 1.16615, 'close': 1.16615, 'volume': 9.0} | asctime='2026-05-30 14:52:01'
2026-05-30 14:52:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 52, 1, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:52:01'
2026-05-30 14:52:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 52, 16, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:52:16'
2026-05-30 14:52:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 52, 19, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 14:52:19'
2026-05-30 14:52:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 52, 33, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:52:33'
2026-05-30 14:54:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 54, 7, 359153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16545, 'low': 1.16514, 'close': 1.16545, 'volume': 4.0} | asctime='2026-05-30 14:54:07'
2026-05-30 14:54:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 54, 7, 361336, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16617, 'high': 1.16646, 'low': 1.16615, 'close': 1.16615, 'volume': 4.0} | asctime='2026-05-30 14:54:07'
2026-05-30 14:54:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 54, 7, 426000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:54:07'
2026-05-30 14:54:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 54, 46, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 14:54:46'
2026-05-30 14:54:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 54, 55, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 14:54:55'
2026-05-30 14:55:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 27, 58849, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16534, 'close': 1.16537, 'volume': 3.0} | asctime='2026-05-30 14:55:27'
2026-05-30 14:55:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 27, 62297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16624, 'close': 1.16627, 'volume': 3.0} | asctime='2026-05-30 14:55:27'
2026-05-30 14:55:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 27, 63532, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16536, 'high': 1.16545, 'low': 1.1648, 'close': 1.16537, 'volume': 23.0} | asctime='2026-05-30 14:55:27'
2026-05-30 14:55:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 27, 63994, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16626, 'high': 1.16666, 'low': 1.16606, 'close': 1.16627, 'volume': 23.0} | asctime='2026-05-30 14:55:27'
2026-05-30 14:55:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 27, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 14:55:27'
2026-05-30 14:55:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 31, 716000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 14:55:31'
2026-05-30 14:55:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 33, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 14:55:33'
2026-05-30 14:55:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 40, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 14:55:40'
2026-05-30 14:55:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 45, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:55:45'
2026-05-30 14:55:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 51, 951000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 14:55:51'
2026-05-30 14:55:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 55, 53, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 14:55:53'
2026-05-30 14:56:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 56, 0, 457926, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16545, 'low': 1.16494, 'close': 1.16511, 'volume': 7.0} | asctime='2026-05-30 14:56:00'
2026-05-30 14:56:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 56, 0, 459887, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16663, 'low': 1.16625, 'close': 1.16643, 'volume': 7.0} | asctime='2026-05-30 14:56:00'
2026-05-30 14:56:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 56, 0, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 14:56:00'
2026-05-30 14:56:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 56, 1, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 14:56:01'
2026-05-30 14:56:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 56, 33, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 14:56:33'
2026-05-30 14:58:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 58, 2, 256168, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16553, 'low': 1.16506, 'close': 1.16553, 'volume': 3.0} | asctime='2026-05-30 14:58:02'
2026-05-30 14:58:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 58, 2, 257415, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16643, 'close': 1.16643, 'volume': 3.0} | asctime='2026-05-30 14:58:02'
2026-05-30 14:58:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 58, 2, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 14:58:02'
2026-05-30 14:58:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 58, 21, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 14:58:20'
2026-05-30 14:58:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 58, 25, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 14:58:25'
2026-05-30 14:58:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 58, 31, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 14:58:31'
2026-05-30 14:59:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 59, 0, 456204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16545, 'low': 1.16528, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 14:59:00'
2026-05-30 14:59:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 59, 0, 457378, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16629, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 14:59:00'
2026-05-30 14:59:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 59, 0, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 14:59:00'
2026-05-30 14:59:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 59, 1, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 14:59:01'
2026-05-30 14:59:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 14, 59, 19, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 14:59:19'
2026-05-30 15:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 3, 5115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16537, 'low': 1.16535, 'close': 1.16535, 'volume': 3.0} | asctime='2026-05-30 15:00:03'
2026-05-30 15:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 3, 6011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16627, 'low': 1.16625, 'close': 1.16625, 'volume': 3.0} | asctime='2026-05-30 15:00:03'
2026-05-30 15:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 3, 6732, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16535, 'high': 1.16553, 'low': 1.16494, 'close': 1.16535, 'volume': 17.0} | asctime='2026-05-30 15:00:03'
2026-05-30 15:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 3, 7204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16625, 'high': 1.16663, 'low': 1.16625, 'close': 1.16625, 'volume': 17.0} | asctime='2026-05-30 15:00:03'
2026-05-30 15:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 3, 7696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16494, 'high': 1.16556, 'low': 1.16477, 'close': 1.16535, 'volume': 103.0} | asctime='2026-05-30 15:00:03'
2026-05-30 15:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 3, 8149, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1665, 'high': 1.16687, 'low': 1.16606, 'close': 1.16625, 'volume': 103.0} | asctime='2026-05-30 15:00:03'
2026-05-30 15:00:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 3, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:00:03'
2026-05-30 15:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 5, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 15:00:05'
2026-05-30 15:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 5, 195000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 15:00:05'
2026-05-30 15:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 6, 437000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:00:06'
2026-05-30 15:00:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 7, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 15:00:07'
2026-05-30 15:00:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 7, 430000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:00:07'
2026-05-30 15:00:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 7, 554000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 15:00:07'
2026-05-30 15:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 9, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:00:09'
2026-05-30 15:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 10, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 15:00:10'
2026-05-30 15:00:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 0, 56, 962000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 15:00:56'
2026-05-30 15:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 1, 2, 954958, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16547, 'low': 1.1651, 'close': 1.16532, 'volume': 10.0} | asctime='2026-05-30 15:01:02'
2026-05-30 15:01:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 1, 2, 956357, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16667, 'low': 1.16615, 'close': 1.16622, 'volume': 10.0} | asctime='2026-05-30 15:01:02'
2026-05-30 15:01:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 1, 3, 45000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:01:02'
2026-05-30 15:01:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 1, 4, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:01:04'
2026-05-30 15:01:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 1, 24, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 15:01:23'
2026-05-30 15:01:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 1, 28, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 15:01:28'
2026-05-30 15:02:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 2, 54179, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16539, 'low': 1.16511, 'close': 1.16522, 'volume': 4.0} | asctime='2026-05-30 15:02:02'
2026-05-30 15:02:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 2, 55430, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16654, 'low': 1.16624, 'close': 1.16654, 'volume': 4.0} | asctime='2026-05-30 15:02:02'
2026-05-30 15:02:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 2, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 15:02:02'
2026-05-30 15:02:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 9, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 15:02:09'
2026-05-30 15:02:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 12, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 15:02:12'
2026-05-30 15:02:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 14, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 15:02:14'
2026-05-30 15:02:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 33, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 15:02:32'
2026-05-30 15:02:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 38, 635000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 15:02:38'
2026-05-30 15:02:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 54, 275000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 15:02:54'
2026-05-30 15:02:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 2, 58, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16472, 'volume': 0.0} | asctime='2026-05-30 15:02:58'
2026-05-30 15:03:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 3, 8, 3030, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.1654, 'low': 1.16472, 'close': 1.16472, 'volume': 8.0} | asctime='2026-05-30 15:03:08'
2026-05-30 15:03:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 3, 8, 4455, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16654, 'low': 1.16608, 'close': 1.16652, 'volume': 8.0} | asctime='2026-05-30 15:03:08'
2026-05-30 15:03:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 3, 8, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16469, 'volume': 0.0} | asctime='2026-05-30 15:03:08'
2026-05-30 15:03:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 3, 9, 668000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16456, 'volume': 0.0} | asctime='2026-05-30 15:03:09'
2026-05-30 15:03:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 3, 14, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 15:03:14'
2026-05-30 15:03:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 3, 16, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 15:03:16'
2026-05-30 15:04:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 4, 2, 3036, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16469, 'high': 1.16499, 'low': 1.16456, 'close': 1.16499, 'volume': 4.0} | asctime='2026-05-30 15:04:02'
2026-05-30 15:04:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 4, 2, 3740, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.1666, 'low': 1.16625, 'close': 1.16655, 'volume': 4.0} | asctime='2026-05-30 15:04:02'
2026-05-30 15:04:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 4, 2, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:04:02'
2026-05-30 15:04:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 4, 3, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:04:03'
2026-05-30 15:04:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 4, 24, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 15:04:24'
2026-05-30 15:04:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 4, 24, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 15:04:24'
2026-05-30 15:04:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 4, 28, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16484, 'volume': 0.0} | asctime='2026-05-30 15:04:28'
2026-05-30 15:04:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 4, 32, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16485, 'volume': 0.0} | asctime='2026-05-30 15:04:32'
2026-05-30 15:04:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 4, 34, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 15:04:34'
2026-05-30 15:05:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 5, 14, 102624, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16513, 'low': 1.16482, 'close': 1.16497, 'volume': 7.0} | asctime='2026-05-30 15:05:14'
2026-05-30 15:05:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 5, 14, 103685, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16662, 'low': 1.16629, 'close': 1.16629, 'volume': 7.0} | asctime='2026-05-30 15:05:14'
2026-05-30 15:05:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 5, 14, 105056, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16541, 'high': 1.16547, 'low': 1.16456, 'close': 1.16497, 'volume': 33.0} | asctime='2026-05-30 15:05:14'
2026-05-30 15:05:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 5, 14, 105580, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16631, 'high': 1.16667, 'low': 1.16608, 'close': 1.16629, 'volume': 33.0} | asctime='2026-05-30 15:05:14'
2026-05-30 15:05:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 5, 14, 181000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 15:05:14'
2026-05-30 15:05:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 5, 22, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16479, 'volume': 0.0} | asctime='2026-05-30 15:05:22'
2026-05-30 15:05:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 5, 24, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16484, 'volume': 0.0} | asctime='2026-05-30 15:05:24'
2026-05-30 15:05:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 5, 42, 237000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16483, 'volume': 0.0} | asctime='2026-05-30 15:05:42'
2026-05-30 15:05:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 5, 54, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:05:54'
2026-05-30 15:06:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 6, 47, 851677, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16481, 'high': 1.16539, 'low': 1.16479, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 15:06:47'
2026-05-30 15:06:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 6, 47, 854282, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16639, 'low': 1.16616, 'close': 1.16629, 'volume': 5.0} | asctime='2026-05-30 15:06:47'
2026-05-30 15:06:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 6, 47, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 15:06:47'
2026-05-30 15:06:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 6, 48, 30000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 15:06:47'
2026-05-30 15:06:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 6, 48, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:06:48'
2026-05-30 15:06:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 6, 49, 893000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:06:49'
2026-05-30 15:06:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 6, 50, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 15:06:49'
2026-05-30 15:06:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 6, 50, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 15:06:50'
2026-05-30 15:07:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 7, 14, 501060, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16533, 'low': 1.16494, 'close': 1.16519, 'volume': 6.0} | asctime='2026-05-30 15:07:14'
2026-05-30 15:07:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 7, 14, 502117, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16675, 'low': 1.16623, 'close': 1.16675, 'volume': 6.0} | asctime='2026-05-30 15:07:14'
2026-05-30 15:07:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 7, 14, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:07:14'
2026-05-30 15:07:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 7, 16, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 15:07:16'
2026-05-30 15:09:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 19, 149861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16537, 'low': 1.16513, 'close': 1.16537, 'volume': 2.0} | asctime='2026-05-30 15:09:19'
2026-05-30 15:09:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 19, 151104, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16627, 'close': 1.16627, 'volume': 2.0} | asctime='2026-05-30 15:09:19'
2026-05-30 15:09:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 19, 233000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 15:09:19'
2026-05-30 15:09:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 21, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:09:21'
2026-05-30 15:09:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 22, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 15:09:22'
2026-05-30 15:09:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 23, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 15:09:23'
2026-05-30 15:09:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 32, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 15:09:32'
2026-05-30 15:09:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 34, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 15:09:34'
2026-05-30 15:09:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 36, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 15:09:36'
2026-05-30 15:09:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 45, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 15:09:45'
2026-05-30 15:09:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 9, 46, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 15:09:46'
2026-05-30 15:10:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 10, 30, 649955, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16553, 'low': 1.16509, 'close': 1.16553, 'volume': 9.0} | asctime='2026-05-30 15:10:30'
2026-05-30 15:10:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 10, 30, 651228, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16652, 'low': 1.16615, 'close': 1.16623, 'volume': 9.0} | asctime='2026-05-30 15:10:30'
2026-05-30 15:10:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 10, 30, 653539, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16481, 'high': 1.16553, 'low': 1.16479, 'close': 1.16553, 'volume': 22.0} | asctime='2026-05-30 15:10:30'
2026-05-30 15:10:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 10, 30, 654787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16637, 'high': 1.16675, 'low': 1.16615, 'close': 1.16623, 'volume': 22.0} | asctime='2026-05-30 15:10:30'
2026-05-30 15:10:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 10, 30, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:10:30'
2026-05-30 15:10:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 10, 34, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:10:34'
2026-05-30 15:10:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 10, 40, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:10:40'
2026-05-30 15:10:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 10, 42, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 15:10:42'
2026-05-30 15:10:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 10, 44, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 15:10:44'
2026-05-30 15:11:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 11, 20, 198749, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.1655, 'low': 1.16504, 'close': 1.1655, 'volume': 5.0} | asctime='2026-05-30 15:11:20'
2026-05-30 15:11:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 11, 20, 200244, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.16636, 'close': 1.1664, 'volume': 5.0} | asctime='2026-05-30 15:11:20'
2026-05-30 15:11:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 11, 20, 271000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 15:11:20'
2026-05-30 15:11:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 11, 23, 374000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 15:11:23'
2026-05-30 15:11:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 11, 32, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 15:11:31'
2026-05-30 15:11:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 11, 34, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:11:33'
2026-05-30 15:11:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 11, 44, 478000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 15:11:44'
2026-05-30 15:11:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 11, 46, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 15:11:45'
2026-05-30 15:12:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 0, 647903, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16512, 'high': 1.1654, 'low': 1.16505, 'close': 1.1654, 'volume': 6.0} | asctime='2026-05-30 15:12:00'
2026-05-30 15:12:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 0, 648899, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16644, 'high': 1.16679, 'low': 1.16644, 'close': 1.16672, 'volume': 6.0} | asctime='2026-05-30 15:12:00'
2026-05-30 15:12:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 0, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 15:12:00'
2026-05-30 15:12:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 0, 864000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 15:12:00'
2026-05-30 15:12:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 1, 361000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:12:01'
2026-05-30 15:12:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 1, 733000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 15:12:01'
2026-05-30 15:12:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 7, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:12:06'
2026-05-30 15:12:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 17, 375000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 15:12:17'
2026-05-30 15:12:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 17, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 15:12:17'
2026-05-30 15:12:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 26, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 15:12:26'
2026-05-30 15:12:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 29, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:12:29'
2026-05-30 15:12:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 12, 31, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:12:31'
2026-05-30 15:13:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 13, 48, 147039, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16521, 'high': 1.16541, 'low': 1.16481, 'close': 1.16541, 'volume': 10.0} | asctime='2026-05-30 15:13:48'
2026-05-30 15:13:48 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 13, 48, 148361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.16686, 'low': 1.16631, 'close': 1.16631, 'volume': 10.0} | asctime='2026-05-30 15:13:48'
2026-05-30 15:13:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 13, 48, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 15:13:48'
2026-05-30 15:13:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 13, 48, 369000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 15:13:48'
2026-05-30 15:13:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 13, 53, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 15:13:52'
2026-05-30 15:13:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 13, 55, 942000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 15:13:55'
2026-05-30 15:13:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 13, 57, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 15:13:56'
2026-05-30 15:13:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 13, 59, 175000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:13:59'
2026-05-30 15:14:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 4, 696562, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16512, 'high': 1.16546, 'low': 1.16496, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 15:14:04'
2026-05-30 15:14:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 4, 697707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16644, 'high': 1.16676, 'low': 1.16629, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 15:14:04'
2026-05-30 15:14:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 4, 758000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:14:04'
2026-05-30 15:14:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 5, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 15:14:05'
2026-05-30 15:14:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 11, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 15:14:11'
2026-05-30 15:14:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 13, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 15:14:12'
2026-05-30 15:14:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 14, 316000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 15:14:14'
2026-05-30 15:14:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 15, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 15:14:14'
2026-05-30 15:14:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 17, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:14:17'
2026-05-30 15:14:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 25, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 15:14:25'
2026-05-30 15:14:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 27, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 15:14:27'
2026-05-30 15:14:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 27, 970000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:14:27'
2026-05-30 15:14:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 28, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:14:28'
2026-05-30 15:14:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 29, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 15:14:28'
2026-05-30 15:14:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 29, 957000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:14:29'
2026-05-30 15:14:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 30, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 15:14:29'
2026-05-30 15:14:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 30, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:14:30'
2026-05-30 15:14:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 31, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:14:30'
2026-05-30 15:14:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 33, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 15:14:32'
2026-05-30 15:14:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 35, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 15:14:35'
2026-05-30 15:14:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 41, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 15:14:41'
2026-05-30 15:14:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 41, 501000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 15:14:41'
2026-05-30 15:14:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 41, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 15:14:41'
2026-05-30 15:14:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 41, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:14:41'
2026-05-30 15:14:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 42, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 15:14:42'
2026-05-30 15:14:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 43, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:14:43'
2026-05-30 15:14:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 45, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 15:14:45'
2026-05-30 15:14:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 46, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 15:14:46'
2026-05-30 15:14:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 14, 55, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 15:14:55'
2026-05-30 15:15:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 7, 595888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.1656, 'low': 1.16501, 'close': 1.16544, 'volume': 27.0} | asctime='2026-05-30 15:15:07'
2026-05-30 15:15:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 7, 597031, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16684, 'low': 1.16626, 'close': 1.16634, 'volume': 27.0} | asctime='2026-05-30 15:15:07'
2026-05-30 15:15:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 7, 598308, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16506, 'high': 1.1656, 'low': 1.16481, 'close': 1.16544, 'volume': 54.0} | asctime='2026-05-30 15:15:07'
2026-05-30 15:15:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 7, 598830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16662, 'high': 1.16686, 'low': 1.16626, 'close': 1.16634, 'volume': 54.0} | asctime='2026-05-30 15:15:07'
2026-05-30 15:15:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 7, 599306, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16541, 'high': 1.1656, 'low': 1.16456, 'close': 1.16544, 'volume': 109.0} | asctime='2026-05-30 15:15:07'
2026-05-30 15:15:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 7, 599751, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16631, 'high': 1.16686, 'low': 1.16608, 'close': 1.16634, 'volume': 109.0} | asctime='2026-05-30 15:15:07'
2026-05-30 15:15:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 7, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 15:15:07'
2026-05-30 15:15:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 11, 792000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16604, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 15:15:11'
2026-05-30 15:15:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 34, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 15:15:33'
2026-05-30 15:15:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 37, 365000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:15:37'
2026-05-30 15:15:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 50, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:15:50'
2026-05-30 15:15:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 51, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 15:15:51'
2026-05-30 15:15:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 53, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:15:53'
2026-05-30 15:15:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 15, 57, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:15:57'
2026-05-30 15:16:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 16, 23, 445807, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16496, 'high': 1.16541, 'low': 1.16496, 'close': 1.16539, 'volume': 8.0} | asctime='2026-05-30 15:16:23'
2026-05-30 15:16:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 16, 23, 447631, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16652, 'low': 1.16604, 'close': 1.16629, 'volume': 8.0} | asctime='2026-05-30 15:16:23'
2026-05-30 15:16:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 16, 23, 545000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:16:23'
2026-05-30 15:16:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 16, 23, 669000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:16:23'
2026-05-30 15:16:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 16, 25, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 15:16:25'
2026-05-30 15:16:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 16, 27, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:16:27'
2026-05-30 15:16:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 16, 45, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 15:16:45'
2026-05-30 15:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 0, 195239, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16541, 'low': 1.16503, 'close': 1.16538, 'volume': 5.0} | asctime='2026-05-30 15:17:00'
2026-05-30 15:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 0, 196276, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.1666, 'low': 1.16628, 'close': 1.16628, 'volume': 5.0} | asctime='2026-05-30 15:17:00'
2026-05-30 15:17:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 0, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 15:17:00'
2026-05-30 15:17:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 1, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:17:01'
2026-05-30 15:17:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 5, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 15:17:05'
2026-05-30 15:17:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 7, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:17:07'
2026-05-30 15:17:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 25, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:17:25'
2026-05-30 15:17:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 35, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 15:17:35'
2026-05-30 15:17:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 38, 401000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 15:17:38'
2026-05-30 15:17:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 39, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:17:38'
2026-05-30 15:17:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 43, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:17:43'
2026-05-30 15:17:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 43, 863000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 15:17:43'
2026-05-30 15:17:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 45, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:17:45'
2026-05-30 15:17:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 51, 437000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 15:17:51'
2026-05-30 15:17:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 17, 57, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:17:57'
2026-05-30 15:18:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 18, 44799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16541, 'low': 1.16498, 'close': 1.16527, 'volume': 13.0} | asctime='2026-05-30 15:18:18'
2026-05-30 15:18:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 18, 45851, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16662, 'low': 1.16616, 'close': 1.16617, 'volume': 13.0} | asctime='2026-05-30 15:18:18'
2026-05-30 15:18:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 18, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16486, 'volume': 0.0} | asctime='2026-05-30 15:18:18'
2026-05-30 15:18:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 19, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 15:18:19'
2026-05-30 15:18:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 37, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 15:18:37'
2026-05-30 15:18:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 37, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 15:18:37'
2026-05-30 15:18:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 39, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 15:18:39'
2026-05-30 15:18:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 41, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 15:18:40'
2026-05-30 15:18:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 44, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 15:18:44'
2026-05-30 15:18:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 44, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 15:18:44'
2026-05-30 15:18:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 18, 58, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 15:18:58'
2026-05-30 15:19:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 9, 44031, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16486, 'high': 1.16553, 'low': 1.16486, 'close': 1.16553, 'volume': 9.0} | asctime='2026-05-30 15:19:09'
2026-05-30 15:19:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 9, 44846, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16666, 'low': 1.16621, 'close': 1.16643, 'volume': 9.0} | asctime='2026-05-30 15:19:09'
2026-05-30 15:19:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 9, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 15:19:09'
2026-05-30 15:19:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 22, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 15:19:21'
2026-05-30 15:19:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 23, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 15:19:23'
2026-05-30 15:19:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 23, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 15:19:23'
2026-05-30 15:19:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 24, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 15:19:24'
2026-05-30 15:19:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 25, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 15:19:25'
2026-05-30 15:19:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 26, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 15:19:26'
2026-05-30 15:19:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 28, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 15:19:28'
2026-05-30 15:19:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 36, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 15:19:35'
2026-05-30 15:19:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 19, 47, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 15:19:47'
2026-05-30 15:20:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 20, 54, 692806, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.1654, 'low': 1.16505, 'close': 1.16534, 'volume': 10.0} | asctime='2026-05-30 15:20:54'
2026-05-30 15:20:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 20, 54, 693859, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1667, 'low': 1.16623, 'close': 1.16624, 'volume': 10.0} | asctime='2026-05-30 15:20:54'
2026-05-30 15:20:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 20, 54, 694732, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16496, 'high': 1.16553, 'low': 1.16486, 'close': 1.16534, 'volume': 45.0} | asctime='2026-05-30 15:20:54'
2026-05-30 15:20:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 20, 54, 695308, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16652, 'high': 1.1667, 'low': 1.16604, 'close': 1.16624, 'volume': 45.0} | asctime='2026-05-30 15:20:54'
2026-05-30 15:20:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 20, 54, 790000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:20:54'
2026-05-30 15:20:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 20, 59, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 15:20:59'
2026-05-30 15:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 1, 43004, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16523, 'low': 1.16502, 'close': 1.16523, 'volume': 2.0} | asctime='2026-05-30 15:21:01'
2026-05-30 15:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 1, 44039, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16655, 'close': 1.16655, 'volume': 2.0} | asctime='2026-05-30 15:21:01'
2026-05-30 15:21:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 1, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 15:21:01'
2026-05-30 15:21:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 6, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 15:21:05'
2026-05-30 15:21:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 7, 824000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 15:21:07'
2026-05-30 15:21:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 24, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 15:21:24'
2026-05-30 15:21:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 25, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 15:21:25'
2026-05-30 15:21:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 27, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1661, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 15:21:26'
2026-05-30 15:21:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 29, 425000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:21:29'
2026-05-30 15:21:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 31, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:21:31'
2026-05-30 15:21:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 32, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:21:32'
2026-05-30 15:21:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 36, 749000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 15:21:36'
2026-05-30 15:21:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 45, 811000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16467, 'volume': 0.0} | asctime='2026-05-30 15:21:45'
2026-05-30 15:21:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 47, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 15:21:46'
2026-05-30 15:21:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 49, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 15:21:49'
2026-05-30 15:21:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 49, 908000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 15:21:49'
2026-05-30 15:21:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 51, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:21:51'
2026-05-30 15:21:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 53, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 15:21:53'
2026-05-30 15:21:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 55, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 15:21:55'
2026-05-30 15:21:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 21, 59, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 15:21:58'
2026-05-30 15:22:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 2, 492001, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16542, 'low': 1.16467, 'close': 1.16505, 'volume': 18.0} | asctime='2026-05-30 15:22:02'
2026-05-30 15:22:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 2, 493067, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16671, 'low': 1.1661, 'close': 1.16637, 'volume': 18.0} | asctime='2026-05-30 15:22:02'
2026-05-30 15:22:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 2, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:22:02'
2026-05-30 15:22:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 3, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 15:22:02'
2026-05-30 15:22:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 11, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:22:11'
2026-05-30 15:22:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 14, 860000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 15:22:14'
2026-05-30 15:22:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 14, 984000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 15:22:14'
2026-05-30 15:22:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 16, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:22:16'
2026-05-30 15:22:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 16, 473000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:22:16'
2026-05-30 15:22:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 17, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:22:16'
2026-05-30 15:22:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 25, 39000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 15:22:24'
2026-05-30 15:22:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 25, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:22:25'
2026-05-30 15:22:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 25, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 15:22:25'
2026-05-30 15:22:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 26, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:22:26'
2026-05-30 15:22:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 27, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 15:22:27'
2026-05-30 15:22:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 27, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 15:22:27'
2026-05-30 15:22:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 27, 770000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 15:22:27'
2026-05-30 15:22:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 28, 888000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 15:22:28'
2026-05-30 15:22:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 30, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 15:22:30'
2026-05-30 15:22:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 31, 371000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 15:22:31'
2026-05-30 15:22:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 31, 495000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 15:22:31'
2026-05-30 15:22:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 32, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 15:22:32'
2026-05-30 15:22:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 36, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 15:22:35'
2026-05-30 15:22:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 38, 447000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:22:38'
2026-05-30 15:22:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 40, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:22:39'
2026-05-30 15:22:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 41, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:22:41'
2026-05-30 15:22:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 42, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:22:42'
2026-05-30 15:22:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 43, 288000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:22:43'
2026-05-30 15:22:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 43, 412000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 15:22:43'
2026-05-30 15:22:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 43, 536000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16698, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 15:22:43'
2026-05-30 15:22:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 44, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 15:22:44'
2026-05-30 15:22:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 46, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 15:22:46'
2026-05-30 15:22:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 48, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 15:22:48'
2026-05-30 15:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 52, 474000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 15:22:52'
2026-05-30 15:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 52, 598000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:22:52'
2026-05-30 15:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 52, 847000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 15:22:52'
2026-05-30 15:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 52, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 15:22:52'
2026-05-30 15:22:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 54, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 15:22:53'
2026-05-30 15:22:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 22, 56, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:22:55'
2026-05-30 15:23:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 12, 891041, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16504, 'high': 1.1655, 'low': 1.16482, 'close': 1.16541, 'volume': 37.0} | asctime='2026-05-30 15:23:12'
2026-05-30 15:23:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 12, 892007, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16636, 'high': 1.16698, 'low': 1.16617, 'close': 1.16631, 'volume': 37.0} | asctime='2026-05-30 15:23:12'
2026-05-30 15:23:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 12, 959000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 15:23:12'
2026-05-30 15:23:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 13, 579000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 15:23:13'
2026-05-30 15:23:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 14, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 15:23:13'
2026-05-30 15:23:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 19, 785000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:23:19'
2026-05-30 15:23:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 20, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:23:20'
2026-05-30 15:23:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 28, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 15:23:28'
2026-05-30 15:23:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 34, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:23:33'
2026-05-30 15:23:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 23, 53, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16709, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 15:23:52'
2026-05-30 15:24:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 1, 41836, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16533, 'low': 1.16481, 'close': 1.16481, 'volume': 8.0} | asctime='2026-05-30 15:24:01'
2026-05-30 15:24:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 1, 42673, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16709, 'low': 1.16623, 'close': 1.16709, 'volume': 8.0} | asctime='2026-05-30 15:24:01'
2026-05-30 15:24:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 1, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 15:24:01'
2026-05-30 15:24:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 2, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:24:02'
2026-05-30 15:24:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 4, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 15:24:04'
2026-05-30 15:24:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 5, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:24:05'
2026-05-30 15:24:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 15, 773000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 15:24:15'
2026-05-30 15:24:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 16, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 15:24:16'
2026-05-30 15:24:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 17, 883000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 15:24:17'
2026-05-30 15:24:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 20, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 15:24:20'
2026-05-30 15:24:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 22, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 15:24:22'
2026-05-30 15:24:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 22, 352000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 15:24:22'
2026-05-30 15:24:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 24, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 15:24:23'
2026-05-30 15:24:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 25, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 15:24:24'
2026-05-30 15:24:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 31, 42000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 15:24:30'
2026-05-30 15:24:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 24, 32, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 15:24:32'
2026-05-30 15:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 25, 2, 390453, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.16548, 'low': 1.16497, 'close': 1.16535, 'volume': 14.0} | asctime='2026-05-30 15:25:02'
2026-05-30 15:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 25, 2, 391306, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16677, 'low': 1.16618, 'close': 1.16625, 'volume': 14.0} | asctime='2026-05-30 15:25:02'
2026-05-30 15:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 25, 2, 392091, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16502, 'high': 1.1655, 'low': 1.16467, 'close': 1.16535, 'volume': 79.0} | asctime='2026-05-30 15:25:02'
2026-05-30 15:25:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 25, 2, 392568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16709, 'low': 1.1661, 'close': 1.16625, 'volume': 79.0} | asctime='2026-05-30 15:25:02'
2026-05-30 15:25:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 25, 2, 450000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 15:25:02'
2026-05-30 15:25:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 25, 3, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 15:25:02'
2026-05-30 15:25:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 25, 4, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 15:25:03'
2026-05-30 15:26:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 37, 439385, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16554, 'low': 1.16524, 'close': 1.16554, 'volume': 3.0} | asctime='2026-05-30 15:26:37'
2026-05-30 15:26:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 37, 440190, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16638, 'close': 1.16644, 'volume': 3.0} | asctime='2026-05-30 15:26:37'
2026-05-30 15:26:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 37, 541000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 15:26:37'
2026-05-30 15:26:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 38, 286000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 15:26:38'
2026-05-30 15:26:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 40, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 15:26:39'
2026-05-30 15:26:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 40, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 15:26:40'
2026-05-30 15:26:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 45, 858000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 15:26:45'
2026-05-30 15:26:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 50, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 15:26:49'
2026-05-30 15:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 56, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 15:26:56'
2026-05-30 15:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 26, 57, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 15:26:56'
2026-05-30 15:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 0, 189209, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16537, 'low': 1.1649, 'close': 1.1652, 'volume': 8.0} | asctime='2026-05-30 15:27:00'
2026-05-30 15:27:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 0, 190601, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16679, 'high': 1.16688, 'low': 1.16627, 'close': 1.16652, 'volume': 8.0} | asctime='2026-05-30 15:27:00'
2026-05-30 15:27:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 0, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 15:27:00'
2026-05-30 15:27:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 4, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 15:27:04'
2026-05-30 15:27:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 8, 452000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 15:27:08'
2026-05-30 15:27:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 14, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:27:14'
2026-05-30 15:27:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 14, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:27:14'
2026-05-30 15:27:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 15, 652000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 15:27:15'
2026-05-30 15:27:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 22, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 15:27:22'
2026-05-30 15:27:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 24, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:27:23'
2026-05-30 15:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 28, 935000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 15:27:28'
2026-05-30 15:27:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 30, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 15:27:29'
2026-05-30 15:27:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 36, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:27:36'
2026-05-30 15:27:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 37, 873000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:27:37'
2026-05-30 15:27:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 38, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 15:27:38'
2026-05-30 15:27:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 40, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 15:27:40'
2026-05-30 15:27:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 48, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 15:27:47'
2026-05-30 15:27:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 48, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 15:27:48'
2026-05-30 15:27:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 50, 39000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 15:27:49'
2026-05-30 15:27:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 52, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 15:27:52'
2026-05-30 15:27:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 58, 606000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:27:58'
2026-05-30 15:27:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 59, 988800, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16551, 'low': 1.16492, 'close': 1.16539, 'volume': 19.0} | asctime='2026-05-30 15:27:59'
2026-05-30 15:27:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 27, 59, 989561, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16662, 'low': 1.16617, 'close': 1.16629, 'volume': 19.0} | asctime='2026-05-30 15:27:59'
2026-05-30 15:27:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 28, 0, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 15:27:59'
2026-05-30 15:28:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 28, 2, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 15:28:01'
2026-05-30 15:28:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 28, 24, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:28:24'
2026-05-30 15:29:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 29, 4, 88463, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16535, 'low': 1.16526, 'close': 1.16526, 'volume': 3.0} | asctime='2026-05-30 15:29:04'
2026-05-30 15:29:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 29, 4, 89516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16625, 'low': 1.16616, 'close': 1.16616, 'volume': 3.0} | asctime='2026-05-30 15:29:04'
2026-05-30 15:29:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 29, 4, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 15:29:04'
2026-05-30 15:29:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 29, 42, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 15:29:42'
2026-05-30 15:29:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 29, 43, 876000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 15:29:43'
2026-05-30 15:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 20, 36485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16528, 'low': 1.16519, 'close': 1.16528, 'volume': 3.0} | asctime='2026-05-30 15:30:20'
2026-05-30 15:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 20, 37974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16609, 'high': 1.16618, 'low': 1.16609, 'close': 1.16618, 'volume': 3.0} | asctime='2026-05-30 15:30:20'
2026-05-30 15:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 20, 38552, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16524, 'high': 1.16554, 'low': 1.1649, 'close': 1.16528, 'volume': 36.0} | asctime='2026-05-30 15:30:20'
2026-05-30 15:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 20, 39050, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16656, 'high': 1.16688, 'low': 1.16609, 'close': 1.16618, 'volume': 36.0} | asctime='2026-05-30 15:30:20'
2026-05-30 15:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 20, 39490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16496, 'high': 1.16554, 'low': 1.16467, 'close': 1.16528, 'volume': 160.0} | asctime='2026-05-30 15:30:20'
2026-05-30 15:30:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 20, 39914, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16652, 'high': 1.16709, 'low': 1.16604, 'close': 1.16618, 'volume': 160.0} | asctime='2026-05-30 15:30:20'
2026-05-30 15:30:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 20, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:30:20'
2026-05-30 15:30:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 22, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:30:22'
2026-05-30 15:30:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 34, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 15:30:34'
2026-05-30 15:30:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 35, 642000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:30:35'
2026-05-30 15:30:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 36, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:30:36'
2026-05-30 15:30:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 55, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 15:30:55'
2026-05-30 15:30:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 59, 986495, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16539, 'low': 1.16499, 'close': 1.16499, 'volume': 6.0} | asctime='2026-05-30 15:30:59'
2026-05-30 15:30:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 30, 59, 987568, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16655, 'low': 1.16617, 'close': 1.16655, 'volume': 6.0} | asctime='2026-05-30 15:30:59'
2026-05-30 15:30:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 31, 0, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 15:30:59'
2026-05-30 15:31:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 31, 3, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 15:31:02'
2026-05-30 15:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 31, 4, 691000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16463, 'volume': 0.0} | asctime='2026-05-30 15:31:04'
2026-05-30 15:31:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 31, 6, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16471, 'volume': 0.0} | asctime='2026-05-30 15:31:05'
2026-05-30 15:31:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 31, 10, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:31:10'
2026-05-30 15:31:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 31, 12, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 15:31:12'
2026-05-30 15:31:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 31, 44, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:31:44'
2026-05-30 15:31:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 31, 59, 985834, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16511, 'low': 1.16463, 'close': 1.16511, 'volume': 7.0} | asctime='2026-05-30 15:31:59'
2026-05-30 15:31:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 31, 59, 986795, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16691, 'low': 1.16634, 'close': 1.16643, 'volume': 7.0} | asctime='2026-05-30 15:31:59'
2026-05-30 15:31:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 0, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 15:31:59'
2026-05-30 15:32:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 0, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 15:32:00'
2026-05-30 15:32:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 1, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 15:32:01'
2026-05-30 15:32:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 4, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 15:32:04'
2026-05-30 15:32:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 14, 829000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 15:32:14'
2026-05-30 15:32:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 24, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:32:24'
2026-05-30 15:32:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 26, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:32:26'
2026-05-30 15:32:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 35, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 15:32:34'
2026-05-30 15:32:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 37, 919000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 15:32:37'
2026-05-30 15:32:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 40, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 15:32:40'
2026-05-30 15:32:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 54, 554000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 15:32:54'
2026-05-30 15:32:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 32, 59, 768000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:32:59'
2026-05-30 15:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 33, 0, 35764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16561, 'low': 1.16501, 'close': 1.1651, 'volume': 12.0} | asctime='2026-05-30 15:33:00'
2026-05-30 15:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 33, 0, 36520, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16666, 'low': 1.16615, 'close': 1.16666, 'volume': 12.0} | asctime='2026-05-30 15:33:00'
2026-05-30 15:33:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 33, 0, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:33:00'
2026-05-30 15:33:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 33, 0, 885000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:33:00'
2026-05-30 15:34:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 11, 935073, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16539, 'low': 1.16513, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 15:34:11'
2026-05-30 15:34:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 11, 936250, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16669, 'low': 1.16629, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 15:34:11'
2026-05-30 15:34:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 12, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 15:34:11'
2026-05-30 15:34:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 13, 258000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 15:34:13'
2026-05-30 15:34:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 13, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:34:13'
2026-05-30 15:34:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 14, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 15:34:14'
2026-05-30 15:34:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 16, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:34:16'
2026-05-30 15:34:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 22, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:34:22'
2026-05-30 15:34:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 24, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 15:34:23'
2026-05-30 15:34:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 34, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 15:34:34'
2026-05-30 15:34:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 38, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:34:37'
2026-05-30 15:34:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 44, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 15:34:44'
2026-05-30 15:34:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 34, 46, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 15:34:46'
2026-05-30 15:36:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 11, 234337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.16556, 'low': 1.16511, 'close': 1.16543, 'volume': 11.0} | asctime='2026-05-30 15:36:11'
2026-05-30 15:36:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 11, 236108, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16674, 'low': 1.16633, 'close': 1.16633, 'volume': 11.0} | asctime='2026-05-30 15:36:11'
2026-05-30 15:36:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 11, 237208, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1651, 'high': 1.16561, 'low': 1.16463, 'close': 1.16543, 'volume': 38.0} | asctime='2026-05-30 15:36:11'
2026-05-30 15:36:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 11, 238481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16642, 'high': 1.16691, 'low': 1.16615, 'close': 1.16633, 'volume': 38.0} | asctime='2026-05-30 15:36:11'
2026-05-30 15:36:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 11, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 15:36:11'
2026-05-30 15:36:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 11, 440000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:36:11'
2026-05-30 15:36:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 12, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 15:36:12'
2026-05-30 15:36:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 18, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:36:18'
2026-05-30 15:36:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 24, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 15:36:24'
2026-05-30 15:36:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 33, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16477, 'volume': 0.0} | asctime='2026-05-30 15:36:33'
2026-05-30 15:36:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 34, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:36:34'
2026-05-30 15:36:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 35, 772000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 15:36:35'
2026-05-30 15:36:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 36, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 15:36:36'
2026-05-30 15:36:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 38, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 15:36:38'
2026-05-30 15:36:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 42, 724000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 15:36:42'
2026-05-30 15:36:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 51, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:36:50'
2026-05-30 15:36:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 52, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 15:36:52'
2026-05-30 15:36:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 36, 54, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 15:36:54'
2026-05-30 15:38:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 38, 22, 682149, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1653, 'high': 1.16557, 'low': 1.16477, 'close': 1.16557, 'volume': 14.0} | asctime='2026-05-30 15:38:22'
2026-05-30 15:38:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 38, 22, 683441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16681, 'low': 1.16618, 'close': 1.16647, 'volume': 14.0} | asctime='2026-05-30 15:38:22'
2026-05-30 15:38:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 38, 22, 780000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:38:22'
2026-05-30 15:38:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 38, 50, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:38:50'
2026-05-30 15:38:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 38, 50, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:38:50'
2026-05-30 15:38:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 38, 52, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 15:38:51'
2026-05-30 15:38:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 38, 54, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 15:38:53'
2026-05-30 15:38:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 38, 55, 180000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 15:38:55'
2026-05-30 15:39:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 39, 4, 32075, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16543, 'low': 1.16504, 'close': 1.16511, 'volume': 6.0} | asctime='2026-05-30 15:39:04'
2026-05-30 15:39:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 39, 4, 32879, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16662, 'low': 1.16633, 'close': 1.16643, 'volume': 6.0} | asctime='2026-05-30 15:39:04'
2026-05-30 15:39:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 39, 4, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 15:39:04'
2026-05-30 15:39:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 39, 36, 271000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 15:39:36'
2026-05-30 15:39:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 39, 38, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 15:39:38'
2026-05-30 15:39:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 39, 56, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 15:39:56'
2026-05-30 15:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 39, 57, 870000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 15:39:57'
2026-05-30 15:39:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 39, 59, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:39:59'
2026-05-30 15:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 40, 0, 981285, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16544, 'low': 1.16499, 'close': 1.1651, 'volume': 6.0} | asctime='2026-05-30 15:40:00'
2026-05-30 15:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 40, 0, 982201, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16655, 'low': 1.16634, 'close': 1.16642, 'volume': 6.0} | asctime='2026-05-30 15:40:00'
2026-05-30 15:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 40, 0, 983681, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1653, 'high': 1.16557, 'low': 1.16477, 'close': 1.1651, 'volume': 26.0} | asctime='2026-05-30 15:40:00'
2026-05-30 15:40:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 40, 0, 984871, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16662, 'high': 1.16681, 'low': 1.16618, 'close': 1.16642, 'volume': 26.0} | asctime='2026-05-30 15:40:00'
2026-05-30 15:40:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 40, 1, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 15:40:00'
2026-05-30 15:41:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 20, 231025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16519, 'low': 1.16519, 'close': 1.16519, 'volume': 1.0} | asctime='2026-05-30 15:41:20'
2026-05-30 15:41:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 20, 233367, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16609, 'high': 1.16609, 'low': 1.16609, 'close': 1.16609, 'volume': 1.0} | asctime='2026-05-30 15:41:20'
2026-05-30 15:41:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 20, 301000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:41:20'
2026-05-30 15:41:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 28, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:41:28'
2026-05-30 15:41:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 29, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:41:29'
2026-05-30 15:41:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 42, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:41:42'
2026-05-30 15:41:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 46, 245000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:41:46'
2026-05-30 15:41:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 50, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 15:41:50'
2026-05-30 15:41:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 54, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:41:54'
2026-05-30 15:41:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 55, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 15:41:54'
2026-05-30 15:41:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 57, 45000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 15:41:56'
2026-05-30 15:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 57, 417000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 15:41:57'
2026-05-30 15:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 57, 540000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 15:41:57'
2026-05-30 15:41:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 58, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 15:41:58'
2026-05-30 15:41:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 59, 279000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:41:59'
2026-05-30 15:41:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 41, 59, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:41:59'
2026-05-30 15:42:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 42, 1, 30354, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16539, 'low': 1.16497, 'close': 1.16527, 'volume': 14.0} | asctime='2026-05-30 15:42:01'
2026-05-30 15:42:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 42, 1, 31108, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.16679, 'low': 1.16629, 'close': 1.16659, 'volume': 14.0} | asctime='2026-05-30 15:42:01'
2026-05-30 15:42:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 42, 1, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 15:42:01'
2026-05-30 15:42:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 42, 3, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:42:03'
2026-05-30 15:42:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 42, 5, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:42:05'
2026-05-30 15:42:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 42, 7, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 15:42:07'
2026-05-30 15:42:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 42, 54, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:42:54'
2026-05-30 15:43:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 43, 6, 229417, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16556, 'low': 1.16526, 'close': 1.16526, 'volume': 5.0} | asctime='2026-05-30 15:43:06'
2026-05-30 15:43:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 43, 6, 230467, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16659, 'low': 1.16629, 'close': 1.16658, 'volume': 5.0} | asctime='2026-05-30 15:43:06'
2026-05-30 15:43:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 43, 6, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 15:43:06'
2026-05-30 15:43:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 43, 18, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:43:18'
2026-05-30 15:43:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 43, 30, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:43:30'
2026-05-30 15:43:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 43, 31, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 15:43:31'
2026-05-30 15:44:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 44, 24, 779642, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16559, 'low': 1.16526, 'close': 1.16559, 'volume': 4.0} | asctime='2026-05-30 15:44:24'
2026-05-30 15:44:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 44, 24, 781278, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16659, 'low': 1.16627, 'close': 1.16649, 'volume': 4.0} | asctime='2026-05-30 15:44:24'
2026-05-30 15:44:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 44, 24, 896000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 15:44:24'
2026-05-30 15:44:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 44, 29, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 15:44:29'
2026-05-30 15:44:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 44, 31, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 15:44:31'
2026-05-30 15:44:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 44, 33, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:44:32'
2026-05-30 15:45:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 24, 628527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16542, 'low': 1.16528, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 15:45:24'
2026-05-30 15:45:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 24, 629464, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16629, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 15:45:24'
2026-05-30 15:45:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 24, 630308, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16519, 'high': 1.16559, 'low': 1.16497, 'close': 1.16539, 'volume': 28.0} | asctime='2026-05-30 15:45:24'
2026-05-30 15:45:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 24, 630937, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16609, 'high': 1.16679, 'low': 1.16609, 'close': 1.16629, 'volume': 28.0} | asctime='2026-05-30 15:45:24'
2026-05-30 15:45:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 24, 631487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1651, 'high': 1.16561, 'low': 1.16463, 'close': 1.16539, 'volume': 92.0} | asctime='2026-05-30 15:45:24'
2026-05-30 15:45:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 24, 632008, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16642, 'high': 1.16691, 'low': 1.16609, 'close': 1.16629, 'volume': 92.0} | asctime='2026-05-30 15:45:24'
2026-05-30 15:45:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 24, 732000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 15:45:24'
2026-05-30 15:45:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 25, 972000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 15:45:25'
2026-05-30 15:45:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 27, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 15:45:26'
2026-05-30 15:45:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 30, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:45:30'
2026-05-30 15:45:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 36, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 15:45:36'
2026-05-30 15:45:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 37, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 15:45:37'
2026-05-30 15:45:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 45, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 15:45:45'
2026-05-30 15:45:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 47, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 15:45:46'
2026-05-30 15:45:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 47, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 15:45:47'
2026-05-30 15:45:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 49, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 15:45:48'
2026-05-30 15:45:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 45, 58, 249000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 15:45:58'
2026-05-30 15:46:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 46, 17, 380129, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16549, 'low': 1.16503, 'close': 1.1652, 'volume': 11.0} | asctime='2026-05-30 15:46:17'
2026-05-30 15:46:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 46, 17, 381160, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16692, 'low': 1.16639, 'close': 1.16652, 'volume': 11.0} | asctime='2026-05-30 15:46:17'
2026-05-30 15:46:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 46, 17, 491000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:46:17'
2026-05-30 15:46:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 46, 18, 980000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 15:46:18'
2026-05-30 15:46:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 46, 21, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 15:46:20'
2026-05-30 15:46:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 46, 23, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 15:46:22'
2026-05-30 15:46:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 46, 59, 699000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 15:46:59'
2026-05-30 15:47:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 47, 0, 976943, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16537, 'low': 1.16502, 'close': 1.1652, 'volume': 5.0} | asctime='2026-05-30 15:47:00'
2026-05-30 15:47:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 47, 0, 982579, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16659, 'low': 1.16627, 'close': 1.16652, 'volume': 5.0} | asctime='2026-05-30 15:47:00'
2026-05-30 15:47:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 47, 1, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 15:47:00'
2026-05-30 15:47:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 47, 38, 305000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 15:47:38'
2026-05-30 15:47:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 47, 44, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 15:47:44'
2026-05-30 15:47:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 47, 45, 381000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 15:47:45'
2026-05-30 15:47:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 47, 46, 250000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 15:47:46'
2026-05-30 15:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 48, 4, 626446, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1655, 'high': 1.16556, 'low': 1.16517, 'close': 1.16556, 'volume': 5.0} | asctime='2026-05-30 15:48:04'
2026-05-30 15:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 48, 4, 627331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.16675, 'low': 1.1664, 'close': 1.16646, 'volume': 5.0} | asctime='2026-05-30 15:48:04'
2026-05-30 15:48:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 48, 4, 747000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:48:04'
2026-05-30 15:48:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 48, 15, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:48:14'
2026-05-30 15:48:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 48, 17, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 15:48:17'
2026-05-30 15:48:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 48, 38, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 15:48:38'
2026-05-30 15:48:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 48, 38, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 15:48:38'
2026-05-30 15:48:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 48, 39, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 15:48:39'
2026-05-30 15:49:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 49, 2, 975952, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16541, 'low': 1.16507, 'close': 1.16524, 'volume': 6.0} | asctime='2026-05-30 15:49:02'
2026-05-30 15:49:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 49, 2, 976807, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16614, 'close': 1.16614, 'volume': 6.0} | asctime='2026-05-30 15:49:02'
2026-05-30 15:49:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 49, 3, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:49:02'
2026-05-30 15:49:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 49, 5, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 15:49:04'
2026-05-30 15:50:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 9, 24769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16537, 'low': 1.1651, 'close': 1.16537, 'volume': 2.0} | asctime='2026-05-30 15:50:09'
2026-05-30 15:50:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 9, 25575, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16627, 'close': 1.16627, 'volume': 2.0} | asctime='2026-05-30 15:50:09'
2026-05-30 15:50:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 9, 26082, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16522, 'high': 1.16556, 'low': 1.16502, 'close': 1.16537, 'volume': 29.0} | asctime='2026-05-30 15:50:09'
2026-05-30 15:50:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 9, 26587, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16654, 'high': 1.16692, 'low': 1.16614, 'close': 1.16627, 'volume': 29.0} | asctime='2026-05-30 15:50:09'
2026-05-30 15:50:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 9, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 15:50:09'
2026-05-30 15:50:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 16, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 15:50:16'
2026-05-30 15:50:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 17, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 15:50:17'
2026-05-30 15:50:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 19, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16484, 'volume': 0.0} | asctime='2026-05-30 15:50:18'
2026-05-30 15:50:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 19, 936000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16479, 'volume': 0.0} | asctime='2026-05-30 15:50:19'
2026-05-30 15:50:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 21, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 15:50:20'
2026-05-30 15:50:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 25, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 15:50:25'
2026-05-30 15:50:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 27, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 15:50:27'
2026-05-30 15:50:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 50, 29, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 15:50:29'
2026-05-30 15:51:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 51, 50, 974020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16545, 'low': 1.16479, 'close': 1.16545, 'volume': 9.0} | asctime='2026-05-30 15:51:50'
2026-05-30 15:51:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 51, 50, 974782, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16685, 'low': 1.16628, 'close': 1.16635, 'volume': 9.0} | asctime='2026-05-30 15:51:50'
2026-05-30 15:51:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 51, 51, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 15:51:50'
2026-05-30 15:51:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 51, 58, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 15:51:58'
2026-05-30 15:52:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 11, 424118, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16544, 'close': 1.16544, 'volume': 2.0} | asctime='2026-05-30 15:52:11'
2026-05-30 15:52:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 11, 425149, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16615, 'high': 1.16634, 'low': 1.16615, 'close': 1.16634, 'volume': 2.0} | asctime='2026-05-30 15:52:11'
2026-05-30 15:52:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 11, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 15:52:11'
2026-05-30 15:52:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 12, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 15:52:12'
2026-05-30 15:52:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 12, 779000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 15:52:12'
2026-05-30 15:52:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 13, 896000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 15:52:13'
2026-05-30 15:52:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 14, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:52:14'
2026-05-30 15:52:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 22, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 15:52:21'
2026-05-30 15:52:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 24, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 15:52:23'
2026-05-30 15:52:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 28, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 15:52:28'
2026-05-30 15:52:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 30, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 15:52:30'
2026-05-30 15:52:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 31, 773000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 15:52:31'
2026-05-30 15:52:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 32, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:52:32'
2026-05-30 15:52:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 32, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16691, 'bid_price': 1.16487, 'volume': 0.0} | asctime='2026-05-30 15:52:32'
2026-05-30 15:52:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 32, 765000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 15:52:32'
2026-05-30 15:52:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 34, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 15:52:34'
2026-05-30 15:52:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 43, 193000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 15:52:43'
2026-05-30 15:52:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 43, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 15:52:43'
2026-05-30 15:52:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 48, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 15:52:48'
2026-05-30 15:52:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 50, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 15:52:50'
2026-05-30 15:52:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 52, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 15:52:52'
2026-05-30 15:52:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 53, 870000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:52:53'
2026-05-30 15:52:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 53, 993000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:52:53'
2026-05-30 15:52:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 52, 56, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 15:52:56'
2026-05-30 15:53:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 0, 573113, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16547, 'low': 1.16487, 'close': 1.16521, 'volume': 22.0} | asctime='2026-05-30 15:53:00'
2026-05-30 15:53:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 0, 573904, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16691, 'low': 1.16633, 'close': 1.16653, 'volume': 22.0} | asctime='2026-05-30 15:53:00'
2026-05-30 15:53:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 0, 697000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 15:53:00'
2026-05-30 15:53:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 2, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 15:53:01'
2026-05-30 15:53:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 4, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 15:53:04'
2026-05-30 15:53:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 21, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 15:53:20'
2026-05-30 15:53:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 22, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 15:53:22'
2026-05-30 15:53:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 32, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:53:32'
2026-05-30 15:53:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 34, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 15:53:33'
2026-05-30 15:53:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 53, 44, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:53:44'
2026-05-30 15:54:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 54, 49, 971756, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16499, 'high': 1.16541, 'low': 1.16494, 'close': 1.16502, 'volume': 8.0} | asctime='2026-05-30 15:54:49'
2026-05-30 15:54:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 54, 49, 972635, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16658, 'low': 1.16626, 'close': 1.16634, 'volume': 8.0} | asctime='2026-05-30 15:54:49'
2026-05-30 15:54:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 54, 50, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:54:49'
2026-05-30 15:55:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 55, 13, 322205, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16506, 'low': 1.16506, 'close': 1.16506, 'volume': 1.0} | asctime='2026-05-30 15:55:13'
2026-05-30 15:55:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 55, 13, 323098, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.16638, 'low': 1.16638, 'close': 1.16638, 'volume': 1.0} | asctime='2026-05-30 15:55:13'
2026-05-30 15:55:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 55, 13, 323631, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16538, 'high': 1.16547, 'low': 1.16479, 'close': 1.16506, 'volume': 42.0} | asctime='2026-05-30 15:55:13'
2026-05-30 15:55:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 55, 13, 324105, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16628, 'high': 1.16691, 'low': 1.16615, 'close': 1.16638, 'volume': 42.0} | asctime='2026-05-30 15:55:13'
2026-05-30 15:55:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 55, 13, 403000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:55:13'
2026-05-30 15:55:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 55, 14, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 15:55:14'
2026-05-30 15:55:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 55, 48, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16487, 'volume': 0.0} | asctime='2026-05-30 15:55:48'
2026-05-30 15:55:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 55, 48, 658000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16486, 'volume': 0.0} | asctime='2026-05-30 15:55:48'
2026-05-30 15:56:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 56, 17, 970618, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.1651, 'low': 1.16486, 'close': 1.16486, 'volume': 4.0} | asctime='2026-05-30 15:56:17'
2026-05-30 15:56:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 56, 17, 971384, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16643, 'low': 1.1664, 'close': 1.16642, 'volume': 4.0} | asctime='2026-05-30 15:56:17'
2026-05-30 15:56:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 56, 18, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 15:56:17'
2026-05-30 15:56:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 56, 36, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 15:56:36'
2026-05-30 15:56:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 56, 46, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 15:56:46'
2026-05-30 15:57:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 57, 22, 270927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16502, 'low': 1.16481, 'close': 1.16489, 'volume': 3.0} | asctime='2026-05-30 15:57:22'
2026-05-30 15:57:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 57, 22, 272470, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16637, 'low': 1.16621, 'close': 1.16621, 'volume': 3.0} | asctime='2026-05-30 15:57:22'
2026-05-30 15:57:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 57, 22, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16458, 'volume': 0.0} | asctime='2026-05-30 15:57:22'
2026-05-30 15:57:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 57, 23, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 15:57:22'
2026-05-30 15:57:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 57, 24, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 15:57:24'
2026-05-30 15:57:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 57, 26, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 15:57:26'
2026-05-30 15:58:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 58, 23, 620357, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16458, 'high': 1.16513, 'low': 1.16458, 'close': 1.16513, 'volume': 4.0} | asctime='2026-05-30 15:58:23'
2026-05-30 15:58:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 58, 23, 621117, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16686, 'high': 1.16694, 'low': 1.16645, 'close': 1.16645, 'volume': 4.0} | asctime='2026-05-30 15:58:23'
2026-05-30 15:58:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 58, 23, 711000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 15:58:23'
2026-05-30 15:58:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 58, 24, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 15:58:23'
2026-05-30 15:58:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 58, 26, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 15:58:25'
2026-05-30 15:59:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 59, 52, 119537, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16545, 'low': 1.1651, 'close': 1.16545, 'volume': 3.0} | asctime='2026-05-30 15:59:52'
2026-05-30 15:59:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 59, 52, 120762, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16666, 'low': 1.16635, 'close': 1.16635, 'volume': 3.0} | asctime='2026-05-30 15:59:52'
2026-05-30 15:59:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 59, 52, 222000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 15:59:52'
2026-05-30 15:59:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 59, 54, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 15:59:53'
2026-05-30 15:59:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 59, 57, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 15:59:57'
2026-05-30 15:59:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 15, 59, 57, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 15:59:57'
2026-05-30 16:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 1, 68870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16542, 'low': 1.16498, 'close': 1.16498, 'volume': 4.0} | asctime='2026-05-30 16:00:01'
2026-05-30 16:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 1, 70011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16654, 'low': 1.16629, 'close': 1.16654, 'volume': 4.0} | asctime='2026-05-30 16:00:01'
2026-05-30 16:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 1, 71610, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1651, 'high': 1.16545, 'low': 1.16458, 'close': 1.16498, 'volume': 18.0} | asctime='2026-05-30 16:00:01'
2026-05-30 16:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 1, 72920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16642, 'high': 1.16694, 'low': 1.16621, 'close': 1.16654, 'volume': 18.0} | asctime='2026-05-30 16:00:01'
2026-05-30 16:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 1, 78201, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16522, 'high': 1.16556, 'low': 1.16458, 'close': 1.16498, 'volume': 89.0} | asctime='2026-05-30 16:00:01'
2026-05-30 16:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 1, 80044, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16654, 'high': 1.16694, 'low': 1.16614, 'close': 1.16654, 'volume': 89.0} | asctime='2026-05-30 16:00:01'
2026-05-30 16:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 1, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:00:01'
2026-05-30 16:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 3, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 16:00:02'
2026-05-30 16:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 5, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 16:00:05'
2026-05-30 16:00:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 8, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 16:00:08'
2026-05-30 16:00:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 10, 470000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:00:10'
2026-05-30 16:00:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 12, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 16:00:11'
2026-05-30 16:00:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 38, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 16:00:38'
2026-05-30 16:00:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 40, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 16:00:40'
2026-05-30 16:00:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 41, 753000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 16:00:41'
2026-05-30 16:00:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 53, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 16:00:53'
2026-05-30 16:00:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 0, 58, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 16:00:58'
2026-05-30 16:01:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 0, 18777, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16538, 'low': 1.16489, 'close': 1.16489, 'volume': 11.0} | asctime='2026-05-30 16:01:00'
2026-05-30 16:01:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 0, 19605, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16663, 'low': 1.16628, 'close': 1.16645, 'volume': 11.0} | asctime='2026-05-30 16:01:00'
2026-05-30 16:01:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 0, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 16:01:00'
2026-05-30 16:01:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 18, 997000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16461, 'volume': 0.0} | asctime='2026-05-30 16:01:18'
2026-05-30 16:01:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 28, 554000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 16:01:28'
2026-05-30 16:01:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 30, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 16:01:30'
2026-05-30 16:01:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 47, 175000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 16:01:47'
2026-05-30 16:01:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 47, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:01:47'
2026-05-30 16:01:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 47, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 16:01:47'
2026-05-30 16:01:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 47, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 16:01:47'
2026-05-30 16:01:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 1, 48, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 16:01:48'
2026-05-30 16:02:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 2, 42, 917494, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16489, 'high': 1.16552, 'low': 1.16461, 'close': 1.16552, 'volume': 9.0} | asctime='2026-05-30 16:02:42'
2026-05-30 16:02:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 2, 42, 918671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16621, 'high': 1.16665, 'low': 1.16621, 'close': 1.16642, 'volume': 9.0} | asctime='2026-05-30 16:02:42'
2026-05-30 16:02:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 2, 43, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 16:02:42'
2026-05-30 16:02:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 2, 44, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 16:02:44'
2026-05-30 16:02:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 2, 52, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:02:52'
2026-05-30 16:03:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 26, 266539, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16546, 'low': 1.16522, 'close': 1.16541, 'volume': 3.0} | asctime='2026-05-30 16:03:26'
2026-05-30 16:03:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 26, 267571, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16631, 'close': 1.16631, 'volume': 3.0} | asctime='2026-05-30 16:03:26'
2026-05-30 16:03:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 26, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 16:03:26'
2026-05-30 16:03:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 26, 487000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 16:03:26'
2026-05-30 16:03:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 27, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 16:03:27'
2026-05-30 16:03:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 30, 833000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 16:03:30'
2026-05-30 16:03:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 33, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 16:03:33'
2026-05-30 16:03:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 33, 564000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 16:03:33'
2026-05-30 16:03:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 36, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 16:03:36'
2026-05-30 16:03:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 3, 44, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 16:03:44'
2026-05-30 16:04:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 4, 6, 979386, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16546, 'high': 1.16561, 'low': 1.16511, 'close': 1.16542, 'volume': 8.0} | asctime='2026-05-30 16:04:06'
2026-05-30 16:04:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 4, 6, 980426, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16636, 'high': 1.16669, 'low': 1.16623, 'close': 1.16632, 'volume': 8.0} | asctime='2026-05-30 16:04:06'
2026-05-30 16:04:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 4, 7, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 16:04:06'
2026-05-30 16:04:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 4, 7, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 16:04:07'
2026-05-30 16:04:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 4, 8, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:04:07'
2026-05-30 16:04:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 4, 14, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 16:04:14'
2026-05-30 16:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 2, 716735, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.1653, 'low': 1.16507, 'close': 1.1653, 'volume': 4.0} | asctime='2026-05-30 16:05:02'
2026-05-30 16:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 2, 717543, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16666, 'low': 1.16662, 'close': 1.16662, 'volume': 4.0} | asctime='2026-05-30 16:05:02'
2026-05-30 16:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 2, 719103, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16518, 'high': 1.16561, 'low': 1.16461, 'close': 1.1653, 'volume': 35.0} | asctime='2026-05-30 16:05:02'
2026-05-30 16:05:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 2, 719931, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1665, 'high': 1.16669, 'low': 1.16621, 'close': 1.16662, 'volume': 35.0} | asctime='2026-05-30 16:05:02'
2026-05-30 16:05:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 2, 820000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:05:02'
2026-05-30 16:05:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 4, 186000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 16:05:04'
2026-05-30 16:05:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 6, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 16:05:06'
2026-05-30 16:05:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 12, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:05:12'
2026-05-30 16:05:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 16, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 16:05:16'
2026-05-30 16:05:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 16, 350000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 16:05:16'
2026-05-30 16:05:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 18, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 16:05:17'
2026-05-30 16:05:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 20, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 16:05:19'
2026-05-30 16:05:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 48, 504000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 16:05:48'
2026-05-30 16:05:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 50, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 16:05:50'
2026-05-30 16:05:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 5, 52, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 16:05:52'
2026-05-30 16:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 6, 0, 915387, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16556, 'low': 1.16515, 'close': 1.1654, 'volume': 11.0} | asctime='2026-05-30 16:06:00'
2026-05-30 16:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 6, 0, 916376, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16679, 'low': 1.1663, 'close': 1.1663, 'volume': 11.0} | asctime='2026-05-30 16:06:00'
2026-05-30 16:06:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 6, 1, 42000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 16:06:00'
2026-05-30 16:06:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 6, 4, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 16:06:04'
2026-05-30 16:06:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 6, 52, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 16:06:52'
2026-05-30 16:06:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 6, 54, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 16:06:53'
2026-05-30 16:07:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 7, 3, 364838, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16531, 'low': 1.16509, 'close': 1.16531, 'volume': 4.0} | asctime='2026-05-30 16:07:03'
2026-05-30 16:07:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 7, 3, 365598, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16641, 'low': 1.16609, 'close': 1.16621, 'volume': 4.0} | asctime='2026-05-30 16:07:03'
2026-05-30 16:07:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 7, 3, 484000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:07:03'
2026-05-30 16:07:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 7, 7, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:07:07'
2026-05-30 16:07:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 7, 8, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 16:07:07'
2026-05-30 16:07:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 7, 14, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 16:07:14'
2026-05-30 16:07:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 7, 20, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 16:07:20'
2026-05-30 16:07:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 7, 22, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16613, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 16:07:22'
2026-05-30 16:07:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 7, 46, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 16:07:46'
2026-05-30 16:08:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 22, 464481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16541, 'low': 1.16518, 'close': 1.16521, 'volume': 7.0} | asctime='2026-05-30 16:08:22'
2026-05-30 16:08:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 22, 465639, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.1665, 'low': 1.16611, 'close': 1.16611, 'volume': 7.0} | asctime='2026-05-30 16:08:22'
2026-05-30 16:08:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 22, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 16:08:22'
2026-05-30 16:08:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 30, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 16:08:29'
2026-05-30 16:08:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 30, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 16:08:30'
2026-05-30 16:08:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 30, 505000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 16:08:30'
2026-05-30 16:08:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 32, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 16:08:32'
2026-05-30 16:08:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 34, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 16:08:34'
2026-05-30 16:08:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 44, 782000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 16:08:44'
2026-05-30 16:08:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 46, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:08:46'
2026-05-30 16:08:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 48, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 16:08:48'
2026-05-30 16:08:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 8, 52, 230000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 16:08:52'
2026-05-30 16:10:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 10, 23, 12821, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.1655, 'low': 1.165, 'close': 1.16543, 'volume': 10.0} | asctime='2026-05-30 16:10:23'
2026-05-30 16:10:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 10, 23, 14274, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16666, 'low': 1.16621, 'close': 1.16633, 'volume': 10.0} | asctime='2026-05-30 16:10:23'
2026-05-30 16:10:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 10, 23, 14789, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16518, 'high': 1.16556, 'low': 1.165, 'close': 1.16543, 'volume': 32.0} | asctime='2026-05-30 16:10:23'
2026-05-30 16:10:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 10, 23, 15243, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1665, 'high': 1.16679, 'low': 1.16609, 'close': 1.16633, 'volume': 32.0} | asctime='2026-05-30 16:10:23'
2026-05-30 16:10:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 10, 23, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 16:10:23'
2026-05-30 16:10:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 10, 44, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 16:10:44'
2026-05-30 16:10:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 10, 44, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 16:10:44'
2026-05-30 16:10:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 10, 46, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 16:10:45'
2026-05-30 16:11:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 13, 162267, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16535, 'low': 1.16513, 'close': 1.16535, 'volume': 4.0} | asctime='2026-05-30 16:11:13'
2026-05-30 16:11:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 13, 163370, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16669, 'low': 1.16647, 'close': 1.16667, 'volume': 4.0} | asctime='2026-05-30 16:11:13'
2026-05-30 16:11:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 13, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 16:11:13'
2026-05-30 16:11:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 14, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:11:14'
2026-05-30 16:11:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 15, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 16:11:15'
2026-05-30 16:11:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 44, 536000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 16:11:44'
2026-05-30 16:11:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 45, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 16:11:45'
2026-05-30 16:11:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 49, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 16:11:49'
2026-05-30 16:11:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 50, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 16:11:50'
2026-05-30 16:11:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 53, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 16:11:53'
2026-05-30 16:11:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 11, 54, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:11:53'
2026-05-30 16:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 2, 912039, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16548, 'low': 1.16509, 'close': 1.16539, 'volume': 9.0} | asctime='2026-05-30 16:12:02'
2026-05-30 16:12:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 2, 913063, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16673, 'low': 1.16626, 'close': 1.16629, 'volume': 9.0} | asctime='2026-05-30 16:12:02'
2026-05-30 16:12:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 3, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 16:12:02'
2026-05-30 16:12:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 4, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 16:12:04'
2026-05-30 16:12:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 4, 523000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 16:12:04'
2026-05-30 16:12:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 4, 646000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 16:12:04'
2026-05-30 16:12:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 6, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:12:06'
2026-05-30 16:12:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 26, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 16:12:26'
2026-05-30 16:12:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 30, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 16:12:29'
2026-05-30 16:12:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 33, 199000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 16:12:33'
2026-05-30 16:12:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 36, 303000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 16:12:36'
2026-05-30 16:12:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 38, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 16:12:38'
2026-05-30 16:12:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 38, 909000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 16:12:38'
2026-05-30 16:12:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 42, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:12:42'
2026-05-30 16:12:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 12, 47, 972000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 16:12:47'
2026-05-30 16:13:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 13, 4, 11024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.1656, 'low': 1.16513, 'close': 1.16527, 'volume': 13.0} | asctime='2026-05-30 16:13:04'
2026-05-30 16:13:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 13, 4, 12641, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16669, 'low': 1.16629, 'close': 1.16659, 'volume': 13.0} | asctime='2026-05-30 16:13:04'
2026-05-30 16:13:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 13, 4, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 16:13:04'
2026-05-30 16:13:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 13, 5, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 16:13:05'
2026-05-30 16:13:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 13, 6, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 16:13:05'
2026-05-30 16:14:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 14, 30, 510068, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16558, 'high': 1.16558, 'low': 1.16526, 'close': 1.16536, 'volume': 3.0} | asctime='2026-05-30 16:14:30'
2026-05-30 16:14:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 14, 30, 511125, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16658, 'low': 1.16626, 'close': 1.16626, 'volume': 3.0} | asctime='2026-05-30 16:14:30'
2026-05-30 16:14:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 14, 30, 637000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 16:14:30'
2026-05-30 16:14:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 14, 32, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 16:14:32'
2026-05-30 16:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 0, 398481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16499, 'high': 1.16499, 'low': 1.16498, 'close': 1.16498, 'volume': 2.0} | asctime='2026-05-30 16:15:00'
2026-05-30 16:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 0, 399506, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16654, 'close': 1.16654, 'volume': 2.0} | asctime='2026-05-30 16:15:00'
2026-05-30 16:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 0, 399985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16519, 'high': 1.1656, 'low': 1.16498, 'close': 1.16498, 'volume': 31.0} | asctime='2026-05-30 16:15:00'
2026-05-30 16:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 0, 400413, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16651, 'high': 1.16673, 'low': 1.16626, 'close': 1.16654, 'volume': 31.0} | asctime='2026-05-30 16:15:00'
2026-05-30 16:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 0, 400804, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16518, 'high': 1.16561, 'low': 1.16461, 'close': 1.16498, 'volume': 98.0} | asctime='2026-05-30 16:15:00'
2026-05-30 16:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 0, 401157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1665, 'high': 1.16679, 'low': 1.16609, 'close': 1.16654, 'volume': 98.0} | asctime='2026-05-30 16:15:00'
2026-05-30 16:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 0, 429000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 16:15:00'
2026-05-30 16:15:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 2, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 16:15:02'
2026-05-30 16:15:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 8, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 16:15:08'
2026-05-30 16:15:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 14, 829000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 16:15:14'
2026-05-30 16:15:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 16, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 16:15:15'
2026-05-30 16:15:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 22, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 16:15:22'
2026-05-30 16:15:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 28, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 16:15:28'
2026-05-30 16:15:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 30, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 16:15:29'
2026-05-30 16:15:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 44, 755000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 16:15:44'
2026-05-30 16:15:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 44, 870000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 16:15:44'
2026-05-30 16:15:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 48, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 16:15:48'
2026-05-30 16:15:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 15, 50, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:15:49'
2026-05-30 16:16:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 16, 13, 941481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16557, 'low': 1.1649, 'close': 1.16539, 'volume': 12.0} | asctime='2026-05-30 16:16:13'
2026-05-30 16:16:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 16, 13, 942620, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16694, 'low': 1.16624, 'close': 1.16629, 'volume': 12.0} | asctime='2026-05-30 16:16:13'
2026-05-30 16:16:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 16, 14, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 16:16:13'
2026-05-30 16:16:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 16, 14, 291000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 16:16:14'
2026-05-30 16:16:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 16, 16, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:16:16'
2026-05-30 16:16:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 16, 39, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 16:16:39'
2026-05-30 16:16:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 16, 50, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 16:16:50'
2026-05-30 16:16:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 16, 56, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 16:16:56'
2026-05-30 16:16:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 16, 58, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:16:58'
2026-05-30 16:18:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 18, 43, 614884, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16552, 'low': 1.16506, 'close': 1.16539, 'volume': 7.0} | asctime='2026-05-30 16:18:43'
2026-05-30 16:18:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 18, 43, 615842, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16622, 'high': 1.16662, 'low': 1.16622, 'close': 1.16629, 'volume': 7.0} | asctime='2026-05-30 16:18:43'
2026-05-30 16:18:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 18, 43, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:18:43'
2026-05-30 16:18:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 18, 44, 252000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 16:18:44'
2026-05-30 16:18:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 18, 46, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 16:18:46'
2026-05-30 16:18:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 18, 48, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 16:18:48'
2026-05-30 16:18:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 18, 54, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 16:18:54'
2026-05-30 16:18:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 18, 56, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:18:56'
2026-05-30 16:18:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 18, 58, 405000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 16:18:58'
2026-05-30 16:19:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 2, 124099, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16539, 'low': 1.16504, 'close': 1.1651, 'volume': 7.0} | asctime='2026-05-30 16:19:02'
2026-05-30 16:19:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 2, 125504, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16661, 'low': 1.16629, 'close': 1.16642, 'volume': 7.0} | asctime='2026-05-30 16:19:02'
2026-05-30 16:19:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 2, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 16:19:02'
2026-05-30 16:19:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 3, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 16:19:03'
2026-05-30 16:19:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 4, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 16:19:04'
2026-05-30 16:19:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 4, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 16:19:05'
2026-05-30 16:19:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 6, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:19:06'
2026-05-30 16:19:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 8, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 16:19:08'
2026-05-30 16:19:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 42, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:19:43'
2026-05-30 16:19:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 43, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 16:19:43'
2026-05-30 16:19:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 19, 43, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 16:19:43'
2026-05-30 16:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 20, 1, 353203, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16551, 'low': 1.16504, 'close': 1.16551, 'volume': 9.0} | asctime='2026-05-30 16:20:01'
2026-05-30 16:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 20, 1, 354186, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16618, 'high': 1.1666, 'low': 1.16618, 'close': 1.16641, 'volume': 9.0} | asctime='2026-05-30 16:20:01'
2026-05-30 16:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 20, 1, 355402, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16509, 'high': 1.16557, 'low': 1.1649, 'close': 1.16551, 'volume': 35.0} | asctime='2026-05-30 16:20:01'
2026-05-30 16:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 20, 1, 355900, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16641, 'high': 1.16694, 'low': 1.16618, 'close': 1.16641, 'volume': 35.0} | asctime='2026-05-30 16:20:01'
2026-05-30 16:20:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 20, 1, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16485, 'volume': 0.0} | asctime='2026-05-30 16:20:01'
2026-05-30 16:20:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 20, 2, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:20:02'
2026-05-30 16:21:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 16, 639952, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16485, 'high': 1.16539, 'low': 1.16485, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 16:21:16'
2026-05-30 16:21:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 16, 641157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16689, 'high': 1.16689, 'low': 1.16629, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 16:21:16'
2026-05-30 16:21:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 16, 572000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 16:21:16'
2026-05-30 16:21:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 18, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 16:21:18'
2026-05-30 16:21:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 31, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 16:21:31'
2026-05-30 16:21:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 34, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 16:21:34'
2026-05-30 16:21:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 35, 441000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:21:35'
2026-05-30 16:21:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 36, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 16:21:36'
2026-05-30 16:21:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 38, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 16:21:38'
2026-05-30 16:21:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 41, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 16:21:41'
2026-05-30 16:21:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 42, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:21:42'
2026-05-30 16:21:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 21, 46, 490000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:21:46'
2026-05-30 16:22:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 22, 3, 213549, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16551, 'low': 1.16499, 'close': 1.16507, 'volume': 10.0} | asctime='2026-05-30 16:22:03'
2026-05-30 16:22:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 22, 3, 214452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16655, 'low': 1.16618, 'close': 1.16639, 'volume': 10.0} | asctime='2026-05-30 16:22:03'
2026-05-30 16:22:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 22, 3, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 16:22:03'
2026-05-30 16:22:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 22, 4, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 16:22:04'
2026-05-30 16:24:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 24, 6, 973633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16526, 'low': 1.16506, 'close': 1.16526, 'volume': 2.0} | asctime='2026-05-30 16:24:06'
2026-05-30 16:24:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 24, 6, 974354, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.16638, 'low': 1.16616, 'close': 1.16616, 'volume': 2.0} | asctime='2026-05-30 16:24:06'
2026-05-30 16:24:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 24, 6, 892000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 16:24:06'
2026-05-30 16:24:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 24, 8, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:24:08'
2026-05-30 16:24:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 24, 16, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 16:24:16'
2026-05-30 16:24:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 24, 30, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 16:24:30'
2026-05-30 16:24:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 24, 34, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 16:24:34'
2026-05-30 16:25:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 25, 20, 223642, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16543, 'low': 1.16516, 'close': 1.16519, 'volume': 5.0} | asctime='2026-05-30 16:25:20'
2026-05-30 16:25:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 25, 20, 225209, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16651, 'low': 1.16629, 'close': 1.16651, 'volume': 5.0} | asctime='2026-05-30 16:25:20'
2026-05-30 16:25:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 25, 20, 226258, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16485, 'high': 1.16551, 'low': 1.16485, 'close': 1.16519, 'volume': 19.0} | asctime='2026-05-30 16:25:20'
2026-05-30 16:25:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 25, 20, 227123, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16689, 'high': 1.16689, 'low': 1.16616, 'close': 1.16651, 'volume': 19.0} | asctime='2026-05-30 16:25:20'
2026-05-30 16:25:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 25, 20, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:25:20'
2026-05-30 16:25:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 25, 22, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 16:25:22'
2026-05-30 16:25:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 25, 30, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 16:25:30'
2026-05-30 16:25:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 25, 48, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 16:25:48'
2026-05-30 16:25:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 25, 50, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 16:25:50'
2026-05-30 16:26:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 26, 44, 171814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16545, 'low': 1.16507, 'close': 1.16545, 'volume': 5.0} | asctime='2026-05-30 16:26:44'
2026-05-30 16:26:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 26, 44, 172944, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16615, 'close': 1.16635, 'volume': 5.0} | asctime='2026-05-30 16:26:44'
2026-05-30 16:26:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 26, 44, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 16:26:44'
2026-05-30 16:27:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 27, 2, 922094, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16544, 'close': 1.16544, 'volume': 1.0} | asctime='2026-05-30 16:27:02'
2026-05-30 16:27:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 27, 2, 923123, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16634, 'low': 1.16634, 'close': 1.16634, 'volume': 1.0} | asctime='2026-05-30 16:27:02'
2026-05-30 16:27:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 27, 2, 799000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 16:27:02'
2026-05-30 16:27:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 27, 3, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 16:27:03'
2026-05-30 16:27:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 27, 16, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16613, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 16:27:16'
2026-05-30 16:27:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 27, 16, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 16:27:16'
2026-05-30 16:27:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 27, 18, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 16:27:18'
2026-05-30 16:27:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 27, 26, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 16:27:26'
2026-05-30 16:27:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 27, 40, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 16:27:40'
2026-05-30 16:28:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 28, 54, 871126, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16553, 'low': 1.16517, 'close': 1.16538, 'volume': 7.0} | asctime='2026-05-30 16:28:54'
2026-05-30 16:28:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 28, 54, 872059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16649, 'low': 1.16608, 'close': 1.16608, 'volume': 7.0} | asctime='2026-05-30 16:28:54'
2026-05-30 16:28:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 28, 54, 772000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 16:28:54'
2026-05-30 16:29:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 29, 1, 321270, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16515, 'low': 1.16515, 'close': 1.16515, 'volume': 1.0} | asctime='2026-05-30 16:29:01'
2026-05-30 16:29:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 29, 1, 321978, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16647, 'low': 1.16647, 'close': 1.16647, 'volume': 1.0} | asctime='2026-05-30 16:29:01'
2026-05-30 16:29:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 29, 1, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 16:29:01'
2026-05-30 16:29:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 29, 2, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:29:02'
2026-05-30 16:29:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 29, 4, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:29:04'
2026-05-30 16:29:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 29, 33, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 16:29:33'
2026-05-30 16:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 5, 306096, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16518, 'low': 1.16502, 'close': 1.16502, 'volume': 4.0} | asctime='2026-05-30 16:30:05'
2026-05-30 16:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 5, 308333, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16608, 'close': 1.16658, 'volume': 4.0} | asctime='2026-05-30 16:30:05'
2026-05-30 16:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 5, 309519, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16507, 'high': 1.16553, 'low': 1.16502, 'close': 1.16502, 'volume': 18.0} | asctime='2026-05-30 16:30:05'
2026-05-30 16:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 5, 309995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16608, 'close': 1.16658, 'volume': 18.0} | asctime='2026-05-30 16:30:05'
2026-05-30 16:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 5, 310433, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16509, 'high': 1.16557, 'low': 1.16485, 'close': 1.16502, 'volume': 72.0} | asctime='2026-05-30 16:30:05'
2026-05-30 16:30:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 5, 310845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16641, 'high': 1.16694, 'low': 1.16608, 'close': 1.16658, 'volume': 72.0} | asctime='2026-05-30 16:30:05'
2026-05-30 16:30:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 5, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:30:05'
2026-05-30 16:30:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 7, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 16:30:07'
2026-05-30 16:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 12, 732000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:30:12'
2026-05-30 16:30:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 23, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 16:30:23'
2026-05-30 16:30:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 55, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 16:30:55'
2026-05-30 16:30:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 30, 59, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 16:30:59'
2026-05-30 16:31:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 31, 3, 119476, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16547, 'low': 1.16518, 'close': 1.16547, 'volume': 6.0} | asctime='2026-05-30 16:31:03'
2026-05-30 16:31:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 31, 3, 120969, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16654, 'low': 1.16624, 'close': 1.16637, 'volume': 6.0} | asctime='2026-05-30 16:31:03'
2026-05-30 16:31:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 31, 3, 9000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 16:31:03'
2026-05-30 16:31:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 31, 31, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 16:31:31'
2026-05-30 16:31:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 31, 33, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:31:33'
2026-05-30 16:32:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 32, 31, 368085, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16537, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 16:32:31'
2026-05-30 16:32:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 32, 31, 369383, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16633, 'low': 1.16627, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 16:32:31'
2026-05-30 16:32:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 32, 31, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 16:32:31'
2026-05-30 16:32:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 32, 34, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16603, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 16:32:34'
2026-05-30 16:32:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 32, 40, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 16:32:40'
2026-05-30 16:32:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 32, 52, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16487, 'volume': 0.0} | asctime='2026-05-30 16:32:52'
2026-05-30 16:32:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 32, 56, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 16:32:56'
2026-05-30 16:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 32, 58, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 16:32:58'
2026-05-30 16:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 33, 0, 167985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16504, 'high': 1.16531, 'low': 1.16487, 'close': 1.16531, 'volume': 6.0} | asctime='2026-05-30 16:33:00'
2026-05-30 16:33:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 33, 0, 168699, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16636, 'high': 1.16669, 'low': 1.16603, 'close': 1.16663, 'volume': 6.0} | asctime='2026-05-30 16:33:00'
2026-05-30 16:33:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 33, 0, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 16:33:00'
2026-05-30 16:33:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 33, 2, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 16:33:02'
2026-05-30 16:33:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 33, 46, 5000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 16:33:46'
2026-05-30 16:33:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 33, 47, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 16:33:47'
2026-05-30 16:33:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 33, 49, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 16:33:49'
2026-05-30 16:34:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 1, 367947, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16532, 'low': 1.16519, 'close': 1.16526, 'volume': 5.0} | asctime='2026-05-30 16:34:01'
2026-05-30 16:34:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 1, 368829, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16664, 'low': 1.16651, 'close': 1.16658, 'volume': 5.0} | asctime='2026-05-30 16:34:01'
2026-05-30 16:34:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 1, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 16:34:01'
2026-05-30 16:34:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 3, 12000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:34:03'
2026-05-30 16:34:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 6, 240000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 16:34:06'
2026-05-30 16:34:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 8, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 16:34:09'
2026-05-30 16:34:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 9, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 16:34:09'
2026-05-30 16:34:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 14, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.1647, 'volume': 0.0} | asctime='2026-05-30 16:34:14'
2026-05-30 16:34:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 19, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:34:19'
2026-05-30 16:34:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 21, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 16:34:21'
2026-05-30 16:34:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 26, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:34:26'
2026-05-30 16:34:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 26, 351000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:34:26'
2026-05-30 16:34:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 26, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 16:34:26'
2026-05-30 16:34:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 27, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 16:34:27'
2026-05-30 16:34:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 27, 716000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 16:34:27'
2026-05-30 16:34:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 34, 29, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:34:29'
2026-05-30 16:35:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 18, 466455, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16539, 'low': 1.1647, 'close': 1.16539, 'volume': 14.0} | asctime='2026-05-30 16:35:18'
2026-05-30 16:35:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 18, 467406, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16674, 'low': 1.16629, 'close': 1.16629, 'volume': 14.0} | asctime='2026-05-30 16:35:18'
2026-05-30 16:35:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 18, 468733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16541, 'high': 1.16547, 'low': 1.1647, 'close': 1.16539, 'volume': 34.0} | asctime='2026-05-30 16:35:18'
2026-05-30 16:35:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 18, 469678, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16631, 'high': 1.16674, 'low': 1.16603, 'close': 1.16629, 'volume': 34.0} | asctime='2026-05-30 16:35:18'
2026-05-30 16:35:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 18, 367000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 16:35:18'
2026-05-30 16:35:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 18, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 16:35:18'
2026-05-30 16:35:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 19, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 16:35:19'
2026-05-30 16:35:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 23, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 16:35:23'
2026-05-30 16:35:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 25, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 16:35:25'
2026-05-30 16:35:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 26, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 16:35:26'
2026-05-30 16:35:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 32, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 16:35:32'
2026-05-30 16:35:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 53, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16711, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:35:53'
2026-05-30 16:35:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 55, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 16:35:55'
2026-05-30 16:35:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 35, 57, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 16:35:57'
2026-05-30 16:36:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 36, 5, 302431, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16534, 'low': 1.16506, 'close': 1.16506, 'volume': 10.0} | asctime='2026-05-30 16:36:05'
2026-05-30 16:36:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 36, 5, 303382, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16711, 'low': 1.16656, 'close': 1.16662, 'volume': 10.0} | asctime='2026-05-30 16:36:05'
2026-05-30 16:36:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 36, 5, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 16:36:05'
2026-05-30 16:36:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 36, 25, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 16:36:25'
2026-05-30 16:36:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 36, 30, 864000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 16:36:30'
2026-05-30 16:36:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 36, 32, 230000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 16:36:32'
2026-05-30 16:36:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 36, 40, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 16:36:40'
2026-05-30 16:36:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 36, 41, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 16:36:41'
2026-05-30 16:36:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 36, 43, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 16:36:43'
2026-05-30 16:37:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 5, 216593, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16533, 'low': 1.1649, 'close': 1.165, 'volume': 7.0} | asctime='2026-05-30 16:37:05'
2026-05-30 16:37:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 5, 218251, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16656, 'low': 1.16623, 'close': 1.16632, 'volume': 7.0} | asctime='2026-05-30 16:37:05'
2026-05-30 16:37:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 5, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 16:37:05'
2026-05-30 16:37:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 7, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 16:37:07'
2026-05-30 16:37:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 25, 362000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 16:37:25'
2026-05-30 16:37:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 25, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 16:37:25'
2026-05-30 16:37:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 25, 734000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 16:37:25'
2026-05-30 16:37:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 26, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 16:37:26'
2026-05-30 16:37:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 27, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 16:37:27'
2026-05-30 16:37:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 29, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 16:37:29'
2026-05-30 16:37:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 34, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 16:37:34'
2026-05-30 16:37:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 35, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 16:37:35'
2026-05-30 16:37:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 37, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:37:37'
2026-05-30 16:37:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 50, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 16:37:50'
2026-05-30 16:37:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 37, 51, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 16:37:51'
2026-05-30 16:38:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 38, 19, 216282, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16544, 'low': 1.16496, 'close': 1.16524, 'volume': 13.0} | asctime='2026-05-30 16:38:19'
2026-05-30 16:38:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 38, 19, 216960, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16668, 'low': 1.1662, 'close': 1.16656, 'volume': 13.0} | asctime='2026-05-30 16:38:19'
2026-05-30 16:38:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 38, 19, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 16:38:19'
2026-05-30 16:38:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 38, 59, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 16:38:59'
2026-05-30 16:38:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 38, 59, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 16:38:59'
2026-05-30 16:39:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 39, 3, 164759, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16522, 'low': 1.16497, 'close': 1.16499, 'volume': 3.0} | asctime='2026-05-30 16:39:03'
2026-05-30 16:39:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 39, 3, 165752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16655, 'low': 1.16653, 'close': 1.16655, 'volume': 3.0} | asctime='2026-05-30 16:39:03'
2026-05-30 16:39:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 39, 3, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 16:39:03'
2026-05-30 16:39:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 39, 36, 330000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 16:39:36'
2026-05-30 16:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 39, 58, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 16:39:58'
2026-05-30 16:41:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 28, 262433, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16563, 'low': 1.16528, 'close': 1.16563, 'volume': 3.0} | asctime='2026-05-30 16:41:28'
2026-05-30 16:41:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 28, 263499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1666, 'low': 1.16633, 'close': 1.16633, 'volume': 3.0} | asctime='2026-05-30 16:41:28'
2026-05-30 16:41:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 28, 264478, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16527, 'high': 1.16563, 'low': 1.1649, 'close': 1.16563, 'volume': 36.0} | asctime='2026-05-30 16:41:28'
2026-05-30 16:41:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 28, 265113, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16659, 'high': 1.16711, 'low': 1.1662, 'close': 1.16633, 'volume': 36.0} | asctime='2026-05-30 16:41:28'
2026-05-30 16:41:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 28, 180000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 16:41:28'
2026-05-30 16:41:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 33, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 16:41:33'
2026-05-30 16:41:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 34, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 16:41:34'
2026-05-30 16:41:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 38, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 16:41:38'
2026-05-30 16:41:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 39, 352000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 16:41:39'
2026-05-30 16:41:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 48, 540000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 16:41:48'
2026-05-30 16:41:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 50, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 16:41:50'
2026-05-30 16:41:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 41, 52, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 16:41:52'
2026-05-30 16:42:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 0, 412654, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16551, 'low': 1.16499, 'close': 1.16551, 'volume': 8.0} | asctime='2026-05-30 16:42:00'
2026-05-30 16:42:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 0, 413853, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16655, 'low': 1.16627, 'close': 1.16641, 'volume': 8.0} | asctime='2026-05-30 16:42:00'
2026-05-30 16:42:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 0, 332000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 16:42:00'
2026-05-30 16:42:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 2, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 16:42:02'
2026-05-30 16:42:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 4, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 16:42:04'
2026-05-30 16:42:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 8, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 16:42:08'
2026-05-30 16:42:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 20, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 16:42:20'
2026-05-30 16:42:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 20, 815000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16487, 'volume': 0.0} | asctime='2026-05-30 16:42:20'
2026-05-30 16:42:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 22, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 16:42:22'
2026-05-30 16:42:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 23, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 16:42:23'
2026-05-30 16:42:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 24, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 16:42:24'
2026-05-30 16:42:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 24, 538000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 16:42:24'
2026-05-30 16:42:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 27, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 16:42:27'
2026-05-30 16:42:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 27, 642000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 16:42:27'
2026-05-30 16:42:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 28, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 16:42:28'
2026-05-30 16:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 30, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16603, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 16:42:30'
2026-05-30 16:42:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 34, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 16:42:35'
2026-05-30 16:42:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 36, 333000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16476, 'volume': 0.0} | asctime='2026-05-30 16:42:36'
2026-05-30 16:42:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 38, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 16:42:38'
2026-05-30 16:42:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 40, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16488, 'volume': 0.0} | asctime='2026-05-30 16:42:40'
2026-05-30 16:42:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 46, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 16:42:46'
2026-05-30 16:42:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 53, 836000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 16:42:53'
2026-05-30 16:42:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 53, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 16:42:54'
2026-05-30 16:42:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 55, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 16:42:55'
2026-05-30 16:42:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 56, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 16:42:56'
2026-05-30 16:42:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 42, 57, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 16:42:57'
2026-05-30 16:43:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 43, 14, 412013, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16558, 'low': 1.16476, 'close': 1.16551, 'volume': 24.0} | asctime='2026-05-30 16:43:14'
2026-05-30 16:43:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 43, 14, 412733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.1668, 'low': 1.16603, 'close': 1.16641, 'volume': 24.0} | asctime='2026-05-30 16:43:14'
2026-05-30 16:43:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 43, 14, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 16:43:14'
2026-05-30 16:43:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 43, 22, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 16:43:22'
2026-05-30 16:43:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 43, 23, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 16:43:23'
2026-05-30 16:43:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 43, 33, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 16:43:33'
2026-05-30 16:43:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 43, 37, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 16:43:37'
2026-05-30 16:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 7, 861561, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16556, 'high': 1.16556, 'low': 1.1653, 'close': 1.1655, 'volume': 5.0} | asctime='2026-05-30 16:45:07'
2026-05-30 16:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 7, 863441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16664, 'low': 1.16636, 'close': 1.1664, 'volume': 5.0} | asctime='2026-05-30 16:45:07'
2026-05-30 16:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 7, 864024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16518, 'high': 1.16558, 'low': 1.16476, 'close': 1.1655, 'volume': 37.0} | asctime='2026-05-30 16:45:07'
2026-05-30 16:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 7, 864496, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1665, 'high': 1.1668, 'low': 1.16603, 'close': 1.1664, 'volume': 37.0} | asctime='2026-05-30 16:45:07'
2026-05-30 16:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 7, 865339, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16541, 'high': 1.16563, 'low': 1.1647, 'close': 1.1655, 'volume': 107.0} | asctime='2026-05-30 16:45:07'
2026-05-30 16:45:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 7, 865768, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16631, 'high': 1.16711, 'low': 1.16603, 'close': 1.1664, 'volume': 107.0} | asctime='2026-05-30 16:45:07'
2026-05-30 16:45:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 7, 784000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 16:45:07'
2026-05-30 16:45:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 11, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 16:45:11'
2026-05-30 16:45:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 13, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 16:45:13'
2026-05-30 16:45:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 44, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 16:45:44'
2026-05-30 16:45:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 48, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 16:45:48'
2026-05-30 16:45:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 49, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 16:45:49'
2026-05-30 16:45:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 50, 487000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 16:45:50'
2026-05-30 16:45:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 51, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 16:45:51'
2026-05-30 16:45:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 53, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 16:45:53'
2026-05-30 16:45:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 54, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 16:45:54'
2026-05-30 16:45:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 55, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:45:55'
2026-05-30 16:45:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 55, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:45:55'
2026-05-30 16:45:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 45, 56, 700000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 16:45:56'
2026-05-30 16:46:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 1, 260281, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16521, 'high': 1.16555, 'low': 1.16506, 'close': 1.16506, 'volume': 13.0} | asctime='2026-05-30 16:46:01'
2026-05-30 16:46:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 1, 264996, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.16677, 'low': 1.16621, 'close': 1.16638, 'volume': 13.0} | asctime='2026-05-30 16:46:01'
2026-05-30 16:46:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 1, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 16:46:01'
2026-05-30 16:46:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 3, 25000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 16:46:03'
2026-05-30 16:46:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 5, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 16:46:05'
2026-05-30 16:46:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 8, 612000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 16:46:08'
2026-05-30 16:46:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 13, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:46:13'
2026-05-30 16:46:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 19, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 16:46:19'
2026-05-30 16:46:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 46, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 16:46:46'
2026-05-30 16:46:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 46, 54, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 16:46:54'
2026-05-30 16:47:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 4, 60059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16503, 'high': 1.16542, 'low': 1.16495, 'close': 1.16502, 'volume': 8.0} | asctime='2026-05-30 16:47:04'
2026-05-30 16:47:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 4, 61456, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16658, 'low': 1.16617, 'close': 1.16658, 'volume': 8.0} | asctime='2026-05-30 16:47:04'
2026-05-30 16:47:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 3, 978000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 16:47:04'
2026-05-30 16:47:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 4, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 16:47:04'
2026-05-30 16:47:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 4, 350000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 16:47:04'
2026-05-30 16:47:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 4, 474000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 16:47:04'
2026-05-30 16:47:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 5, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 16:47:05'
2026-05-30 16:47:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 33, 275000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 16:47:33'
2026-05-30 16:47:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 42, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 16:47:42'
2026-05-30 16:47:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 43, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 16:47:43'
2026-05-30 16:47:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 51, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 16:47:51'
2026-05-30 16:47:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 52, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 16:47:52'
2026-05-30 16:47:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 47, 53, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 16:47:53'
2026-05-30 16:48:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 48, 23, 408769, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16493, 'high': 1.16555, 'low': 1.16491, 'close': 1.16536, 'volume': 11.0} | asctime='2026-05-30 16:48:23'
2026-05-30 16:48:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 48, 23, 410031, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.1666, 'low': 1.16616, 'close': 1.16626, 'volume': 11.0} | asctime='2026-05-30 16:48:23'
2026-05-30 16:48:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 48, 23, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 16:48:23'
2026-05-30 16:48:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 48, 25, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 16:48:25'
2026-05-30 16:49:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 49, 30, 158852, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16493, 'high': 1.16511, 'low': 1.16493, 'close': 1.16511, 'volume': 2.0} | asctime='2026-05-30 16:49:30'
2026-05-30 16:49:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 49, 30, 159955, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16673, 'high': 1.16673, 'low': 1.16667, 'close': 1.16667, 'volume': 2.0} | asctime='2026-05-30 16:49:30'
2026-05-30 16:49:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 49, 30, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 16:49:30'
2026-05-30 16:49:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 49, 31, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 16:49:31'
2026-05-30 16:49:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 49, 37, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 16:49:37'
2026-05-30 16:50:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 50, 53, 957138, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16549, 'low': 1.1652, 'close': 1.16527, 'volume': 3.0} | asctime='2026-05-30 16:50:53'
2026-05-30 16:50:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 50, 53, 958906, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16659, 'low': 1.16639, 'close': 1.16659, 'volume': 3.0} | asctime='2026-05-30 16:50:53'
2026-05-30 16:50:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 50, 53, 959645, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16521, 'high': 1.16555, 'low': 1.16491, 'close': 1.16527, 'volume': 37.0} | asctime='2026-05-30 16:50:53'
2026-05-30 16:50:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 50, 53, 960452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16677, 'high': 1.16677, 'low': 1.16616, 'close': 1.16659, 'volume': 37.0} | asctime='2026-05-30 16:50:53'
2026-05-30 16:50:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 50, 53, 885000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 16:50:53'
2026-05-30 16:51:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 51, 28, 606678, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16526, 'low': 1.16526, 'close': 1.16526, 'volume': 1.0} | asctime='2026-05-30 16:51:28'
2026-05-30 16:51:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 51, 28, 607895, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16658, 'close': 1.16658, 'volume': 1.0} | asctime='2026-05-30 16:51:28'
2026-05-30 16:51:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 51, 28, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 16:51:28'
2026-05-30 16:51:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 51, 34, 478000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 16:51:34'
2026-05-30 16:51:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 51, 35, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 16:51:35'
2026-05-30 16:51:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 51, 59, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 16:51:59'
2026-05-30 16:52:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 52, 8, 206845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16505, 'low': 1.165, 'close': 1.16501, 'volume': 4.0} | asctime='2026-05-30 16:52:08'
2026-05-30 16:52:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 52, 8, 207556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16632, 'close': 1.16633, 'volume': 4.0} | asctime='2026-05-30 16:52:08'
2026-05-30 16:52:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 52, 8, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 16:52:08'
2026-05-30 16:52:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 52, 10, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:52:10'
2026-05-30 16:52:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 52, 10, 727000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:52:10'
2026-05-30 16:54:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 54, 38, 654868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16539, 'low': 1.16505, 'close': 1.16507, 'volume': 3.0} | asctime='2026-05-30 16:54:38'
2026-05-30 16:54:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 54, 38, 655743, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16639, 'low': 1.16629, 'close': 1.16639, 'volume': 3.0} | asctime='2026-05-30 16:54:38'
2026-05-30 16:54:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 54, 38, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 16:54:38'
2026-05-30 16:54:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 54, 48, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 16:54:48'
2026-05-30 16:54:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 54, 49, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 16:54:49'
2026-05-30 16:54:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 54, 53, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:54:53'
2026-05-30 16:57:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 57, 10, 254241, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16543, 'low': 1.16506, 'close': 1.16541, 'volume': 4.0} | asctime='2026-05-30 16:57:10'
2026-05-30 16:57:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 57, 10, 255490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.16639, 'low': 1.16631, 'close': 1.16631, 'volume': 4.0} | asctime='2026-05-30 16:57:10'
2026-05-30 16:57:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 57, 10, 256935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16526, 'high': 1.16543, 'low': 1.165, 'close': 1.16541, 'volume': 12.0} | asctime='2026-05-30 16:57:10'
2026-05-30 16:57:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 57, 10, 257965, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16661, 'low': 1.16629, 'close': 1.16631, 'volume': 12.0} | asctime='2026-05-30 16:57:10'
2026-05-30 16:57:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 57, 10, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:57:10'
2026-05-30 16:57:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 57, 18, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 16:57:18'
2026-05-30 16:57:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 57, 19, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 16:57:19'
2026-05-30 16:57:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 57, 25, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 16:57:25'
2026-05-30 16:59:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 59, 40, 202352, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16544, 'low': 1.16525, 'close': 1.16541, 'volume': 4.0} | asctime='2026-05-30 16:59:40'
2026-05-30 16:59:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 59, 40, 203010, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16657, 'low': 1.16629, 'close': 1.16631, 'volume': 4.0} | asctime='2026-05-30 16:59:40'
2026-05-30 16:59:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 59, 40, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:59:40'
2026-05-30 16:59:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 59, 48, 554000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 16:59:48'
2026-05-30 16:59:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 59, 49, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 16:59:49'
2026-05-30 16:59:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 16, 59, 55, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 16:59:55'
2026-05-30 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 1, 652232, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.1654, 'low': 1.16524, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 17:00:01'
2026-05-30 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 1, 653255, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16656, 'low': 1.16629, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 17:00:01'
2026-05-30 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 1, 654957, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16544, 'low': 1.16524, 'close': 1.16539, 'volume': 8.0} | asctime='2026-05-30 17:00:01'
2026-05-30 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 1, 656718, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16657, 'low': 1.16629, 'close': 1.16629, 'volume': 8.0} | asctime='2026-05-30 17:00:01'
2026-05-30 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 1, 657258, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16521, 'high': 1.16555, 'low': 1.16491, 'close': 1.16539, 'volume': 57.0} | asctime='2026-05-30 17:00:01'
2026-05-30 17:00:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 1, 658636, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16677, 'high': 1.16677, 'low': 1.16616, 'close': 1.16629, 'volume': 57.0} | asctime='2026-05-30 17:00:01'
2026-05-30 17:00:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 1, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 17:00:01'
2026-05-30 17:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 2, 209000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 17:00:02'
2026-05-30 17:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 4, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 17:00:04'
2026-05-30 17:00:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 5, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:00:05'
2026-05-30 17:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 6, 306000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 17:00:06'
2026-05-30 17:00:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 6, 429000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 17:00:06'
2026-05-30 17:00:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 7, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 17:00:07'
2026-05-30 17:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 9, 658000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 17:00:09'
2026-05-30 17:00:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 9, 781000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 17:00:09'
2026-05-30 17:00:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 11, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 17:00:11'
2026-05-30 17:00:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 19, 217000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 17:00:19'
2026-05-30 17:00:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 26, 292000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 17:00:26'
2026-05-30 17:00:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 0, 27, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 17:00:27'
2026-05-30 17:01:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 1, 1, 500867, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16551, 'low': 1.16481, 'close': 1.16514, 'volume': 13.0} | asctime='2026-05-30 17:01:01'
2026-05-30 17:01:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 1, 1, 501585, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.16685, 'low': 1.16626, 'close': 1.1667, 'volume': 13.0} | asctime='2026-05-30 17:01:01'
2026-05-30 17:01:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 1, 1, 424000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 17:01:01'
2026-05-30 17:01:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 1, 3, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 17:01:03'
2026-05-30 17:01:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 1, 4, 527000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 17:01:04'
2026-05-30 17:01:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 1, 5, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 17:01:05'
2026-05-30 17:02:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 2, 14, 251359, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16542, 'low': 1.16516, 'close': 1.16542, 'volume': 4.0} | asctime='2026-05-30 17:02:14'
2026-05-30 17:02:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 2, 14, 252995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16652, 'low': 1.16623, 'close': 1.16632, 'volume': 4.0} | asctime='2026-05-30 17:02:14'
2026-05-30 17:02:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 2, 14, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:02:14'
2026-05-30 17:02:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 2, 43, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 17:02:43'
2026-05-30 17:02:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 2, 45, 578000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 17:02:45'
2026-05-30 17:02:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 2, 56, 751000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:02:56'
2026-05-30 17:03:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 3, 0, 200073, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16512, 'close': 1.16512, 'volume': 4.0} | asctime='2026-05-30 17:03:00'
2026-05-30 17:03:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 3, 0, 200906, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16668, 'low': 1.16629, 'close': 1.16668, 'volume': 4.0} | asctime='2026-05-30 17:03:00'
2026-05-30 17:03:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 3, 0, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 17:03:00'
2026-05-30 17:03:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 3, 2, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 17:03:02'
2026-05-30 17:03:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 3, 4, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 17:03:04'
2026-05-30 17:04:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 4, 35, 998988, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.1654, 'low': 1.16508, 'close': 1.1654, 'volume': 3.0} | asctime='2026-05-30 17:04:36'
2026-05-30 17:04:36 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 4, 36, 502, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16641, 'low': 1.1663, 'close': 1.1663, 'volume': 3.0} | asctime='2026-05-30 17:04:36'
2026-05-30 17:04:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 4, 35, 939000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16483, 'volume': 0.0} | asctime='2026-05-30 17:04:36'
2026-05-30 17:04:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 4, 36, 310000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 17:04:36'
2026-05-30 17:04:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 4, 38, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 17:04:38'
2026-05-30 17:04:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 4, 57, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 17:04:57'
2026-05-30 17:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 4, 198810, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16483, 'high': 1.16543, 'low': 1.16483, 'close': 1.16532, 'volume': 4.0} | asctime='2026-05-30 17:05:04'
2026-05-30 17:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 4, 199583, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16687, 'high': 1.16687, 'low': 1.16633, 'close': 1.16664, 'volume': 4.0} | asctime='2026-05-30 17:05:04'
2026-05-30 17:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 4, 200662, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1654, 'high': 1.16551, 'low': 1.16481, 'close': 1.16532, 'volume': 28.0} | asctime='2026-05-30 17:05:04'
2026-05-30 17:05:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 4, 201513, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1663, 'high': 1.16687, 'low': 1.16623, 'close': 1.16664, 'volume': 28.0} | asctime='2026-05-30 17:05:04'
2026-05-30 17:05:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 4, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 17:05:04'
2026-05-30 17:05:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 6, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 17:05:06'
2026-05-30 17:05:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 41, 485000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 17:05:41'
2026-05-30 17:05:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 48, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 17:05:48'
2026-05-30 17:05:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 49, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 17:05:49'
2026-05-30 17:05:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 49, 927000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 17:05:49'
2026-05-30 17:05:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 50, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 17:05:50'
2026-05-30 17:05:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 5, 51, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:05:51'
2026-05-30 17:06:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 12, 848475, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16561, 'high': 1.16563, 'low': 1.16522, 'close': 1.16539, 'volume': 8.0} | asctime='2026-05-30 17:06:12'
2026-05-30 17:06:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 12, 849621, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16665, 'low': 1.16626, 'close': 1.16629, 'volume': 8.0} | asctime='2026-05-30 17:06:12'
2026-05-30 17:06:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 12, 768000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:06:12'
2026-05-30 17:06:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 14, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 17:06:14'
2026-05-30 17:06:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 15, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 17:06:15'
2026-05-30 17:06:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 20, 713000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 17:06:20'
2026-05-30 17:06:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 21, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:06:21'
2026-05-30 17:06:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 34, 493000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 17:06:34'
2026-05-30 17:06:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 35, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 17:06:35'
2026-05-30 17:06:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 6, 35, 486000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:06:35'
2026-05-30 17:07:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 3, 997504, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16512, 'high': 1.16539, 'low': 1.16494, 'close': 1.16539, 'volume': 8.0} | asctime='2026-05-30 17:07:03'
2026-05-30 17:07:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 3, 998935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16644, 'high': 1.16674, 'low': 1.16629, 'close': 1.16629, 'volume': 8.0} | asctime='2026-05-30 17:07:03'
2026-05-30 17:07:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 3, 915000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:07:04'
2026-05-30 17:07:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 14, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:07:14'
2026-05-30 17:07:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 18, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 17:07:18'
2026-05-30 17:07:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 18, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 17:07:18'
2026-05-30 17:07:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 20, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 17:07:20'
2026-05-30 17:07:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 22, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:07:22'
2026-05-30 17:07:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 26, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 17:07:26'
2026-05-30 17:07:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 32, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 17:07:32'
2026-05-30 17:07:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 34, 701000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 17:07:34'
2026-05-30 17:07:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 36, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 17:07:36'
2026-05-30 17:07:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 52, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 17:07:52'
2026-05-30 17:07:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 54, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 17:07:54'
2026-05-30 17:07:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 7, 56, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 17:07:56'
2026-05-30 17:08:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 8, 1, 696763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16553, 'low': 1.16494, 'close': 1.16504, 'volume': 13.0} | asctime='2026-05-30 17:08:01'
2026-05-30 17:08:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 8, 1, 697394, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16657, 'low': 1.16617, 'close': 1.16636, 'volume': 13.0} | asctime='2026-05-30 17:08:01'
2026-05-30 17:08:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 8, 1, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:08:01'
2026-05-30 17:08:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 8, 32, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 17:08:32'
2026-05-30 17:08:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 8, 56, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 17:08:56'
2026-05-30 17:09:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 9, 34, 195670, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16538, 'low': 1.1651, 'close': 1.16525, 'volume': 3.0} | asctime='2026-05-30 17:09:34'
2026-05-30 17:09:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 9, 34, 196675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16657, 'low': 1.16628, 'close': 1.16657, 'volume': 3.0} | asctime='2026-05-30 17:09:34'
2026-05-30 17:09:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 9, 34, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 17:09:34'
2026-05-30 17:09:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 9, 48, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 17:09:48'
2026-05-30 17:09:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 9, 54, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 17:09:54'
2026-05-30 17:10:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 6, 346140, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16553, 'low': 1.16549, 'close': 1.16549, 'volume': 3.0} | asctime='2026-05-30 17:10:06'
2026-05-30 17:10:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 6, 347834, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16643, 'low': 1.16639, 'close': 1.16639, 'volume': 3.0} | asctime='2026-05-30 17:10:06'
2026-05-30 17:10:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 6, 348814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16561, 'high': 1.16563, 'low': 1.16494, 'close': 1.16549, 'volume': 35.0} | asctime='2026-05-30 17:10:06'
2026-05-30 17:10:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 6, 349274, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16651, 'high': 1.16674, 'low': 1.16617, 'close': 1.16639, 'volume': 35.0} | asctime='2026-05-30 17:10:06'
2026-05-30 17:10:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 6, 276000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 17:10:06'
2026-05-30 17:10:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 21, 676000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 17:10:21'
2026-05-30 17:10:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 22, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:10:22'
2026-05-30 17:10:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 32, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 17:10:32'
2026-05-30 17:10:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 44, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 17:10:44'
2026-05-30 17:10:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 10, 52, 580000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 17:10:52'
2026-05-30 17:11:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 11, 30, 394203, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16497, 'close': 1.16497, 'volume': 6.0} | asctime='2026-05-30 17:11:30'
2026-05-30 17:11:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 11, 30, 395181, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16653, 'low': 1.16615, 'close': 1.16653, 'volume': 6.0} | asctime='2026-05-30 17:11:30'
2026-05-30 17:11:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 11, 30, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 17:11:30'
2026-05-30 17:11:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 11, 30, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 17:11:30'
2026-05-30 17:11:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 11, 31, 933000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 17:11:31'
2026-05-30 17:11:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 11, 33, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 17:11:33'
2026-05-30 17:11:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 11, 40, 623000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 17:11:40'
2026-05-30 17:11:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 11, 42, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 17:11:42'
2026-05-30 17:12:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 12, 34, 193988, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16494, 'high': 1.16545, 'low': 1.16494, 'close': 1.16516, 'volume': 6.0} | asctime='2026-05-30 17:12:34'
2026-05-30 17:12:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 12, 34, 202178, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16672, 'low': 1.16635, 'close': 1.16672, 'volume': 6.0} | asctime='2026-05-30 17:12:34'
2026-05-30 17:12:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 12, 34, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 17:12:34'
2026-05-30 17:12:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 12, 38, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:12:38'
2026-05-30 17:12:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 12, 56, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 17:12:56'
2026-05-30 17:13:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 0, 394449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16546, 'low': 1.16518, 'close': 1.16546, 'volume': 3.0} | asctime='2026-05-30 17:13:00'
2026-05-30 17:13:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 0, 395759, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16622, 'high': 1.1665, 'low': 1.16622, 'close': 1.16636, 'volume': 3.0} | asctime='2026-05-30 17:13:00'
2026-05-30 17:13:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 0, 320000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 17:13:00'
2026-05-30 17:13:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 0, 693000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 17:13:00'
2026-05-30 17:13:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 2, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 17:13:02'
2026-05-30 17:13:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 4, 914000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 17:13:04'
2026-05-30 17:13:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 6, 31000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 17:13:06'
2026-05-30 17:13:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 8, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 17:13:08'
2026-05-30 17:13:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 52, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 17:13:52'
2026-05-30 17:13:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 13, 54, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 17:13:54'
2026-05-30 17:14:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 14, 3, 93345, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.1656, 'low': 1.16517, 'close': 1.1656, 'volume': 8.0} | asctime='2026-05-30 17:14:03'
2026-05-30 17:14:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 14, 3, 94670, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16667, 'low': 1.1662, 'close': 1.1665, 'volume': 8.0} | asctime='2026-05-30 17:14:03'
2026-05-30 17:14:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 14, 3, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 17:14:03'
2026-05-30 17:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 0, 390920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16528, 'low': 1.16528, 'close': 1.16528, 'volume': 1.0} | asctime='2026-05-30 17:15:00'
2026-05-30 17:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 0, 391955, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1666, 'low': 1.1666, 'close': 1.1666, 'volume': 1.0} | asctime='2026-05-30 17:15:00'
2026-05-30 17:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 0, 393422, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16545, 'high': 1.1656, 'low': 1.16494, 'close': 1.16528, 'volume': 24.0} | asctime='2026-05-30 17:15:00'
2026-05-30 17:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 0, 394485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16635, 'high': 1.16672, 'low': 1.16615, 'close': 1.1666, 'volume': 24.0} | asctime='2026-05-30 17:15:00'
2026-05-30 17:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 0, 395408, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1654, 'high': 1.16563, 'low': 1.16481, 'close': 1.16528, 'volume': 87.0} | asctime='2026-05-30 17:15:00'
2026-05-30 17:15:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 0, 395869, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1663, 'high': 1.16687, 'low': 1.16615, 'close': 1.1666, 'volume': 87.0} | asctime='2026-05-30 17:15:00'
2026-05-30 17:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 0, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 17:15:00'
2026-05-30 17:15:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 0, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 17:15:00'
2026-05-30 17:15:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 2, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:15:02'
2026-05-30 17:15:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 7, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:15:07'
2026-05-30 17:15:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 8, 930000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:15:08'
2026-05-30 17:15:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 10, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 17:15:10'
2026-05-30 17:15:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 21, 965000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:15:22'
2026-05-30 17:15:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 22, 337000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:15:22'
2026-05-30 17:15:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 28, 917000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 17:15:29'
2026-05-30 17:15:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 29, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 17:15:29'
2026-05-30 17:15:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 31, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 17:15:31'
2026-05-30 17:15:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 34, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 17:15:34'
2026-05-30 17:15:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 38, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 17:15:38'
2026-05-30 17:15:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 39, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 17:15:39'
2026-05-30 17:15:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 41, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 17:15:41'
2026-05-30 17:15:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 15, 51, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 17:15:51'
2026-05-30 17:16:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 16, 19, 141422, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16542, 'low': 1.16496, 'close': 1.16514, 'volume': 16.0} | asctime='2026-05-30 17:16:19'
2026-05-30 17:16:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 16, 19, 142596, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16674, 'low': 1.16631, 'close': 1.16646, 'volume': 16.0} | asctime='2026-05-30 17:16:19'
2026-05-30 17:16:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 16, 19, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 17:16:19'
2026-05-30 17:16:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 16, 28, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 17:16:28'
2026-05-30 17:16:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 16, 29, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 17:16:29'
2026-05-30 17:17:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 17, 19, 240893, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16545, 'low': 1.16514, 'close': 1.16545, 'volume': 3.0} | asctime='2026-05-30 17:17:19'
2026-05-30 17:17:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 17, 19, 241968, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16615, 'high': 1.16646, 'low': 1.16615, 'close': 1.16635, 'volume': 3.0} | asctime='2026-05-30 17:17:19'
2026-05-30 17:17:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 17, 19, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 17:17:19'
2026-05-30 17:17:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 17, 32, 560000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:17:32'
2026-05-30 17:17:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 17, 32, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 17:17:32'
2026-05-30 17:17:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 17, 35, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 17:17:35'
2026-05-30 17:17:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 17, 35, 291000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 17:17:35'
2026-05-30 17:17:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 17, 43, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:17:43'
2026-05-30 17:18:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 18, 39, 289792, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.165, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 17:18:39'
2026-05-30 17:18:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 18, 39, 291331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16672, 'low': 1.16629, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 17:18:39'
2026-05-30 17:18:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 18, 39, 223000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:18:39'
2026-05-30 17:18:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 18, 41, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 17:18:41'
2026-05-30 17:19:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 2, 739951, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16534, 'low': 1.16507, 'close': 1.16534, 'volume': 2.0} | asctime='2026-05-30 17:19:02'
2026-05-30 17:19:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 2, 741361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16666, 'low': 1.16663, 'close': 1.16666, 'volume': 2.0} | asctime='2026-05-30 17:19:02'
2026-05-30 17:19:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 2, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 17:19:02'
2026-05-30 17:19:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 3, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 17:19:03'
2026-05-30 17:19:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 5, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:19:05'
2026-05-30 17:19:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 10, 258000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 17:19:10'
2026-05-30 17:19:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 18, 576000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 17:19:18'
2026-05-30 17:19:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 19, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 17:19:19'
2026-05-30 17:19:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 23, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 17:19:23'
2026-05-30 17:19:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 19, 40, 301000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:19:40'
2026-05-30 17:20:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 2, 239525, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16553, 'low': 1.16506, 'close': 1.16518, 'volume': 8.0} | asctime='2026-05-30 17:20:02'
2026-05-30 17:20:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 2, 240486, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16664, 'low': 1.16629, 'close': 1.1665, 'volume': 8.0} | asctime='2026-05-30 17:20:02'
2026-05-30 17:20:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 2, 241082, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16542, 'high': 1.16553, 'low': 1.16496, 'close': 1.16518, 'volume': 35.0} | asctime='2026-05-30 17:20:02'
2026-05-30 17:20:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 2, 241612, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16632, 'high': 1.16674, 'low': 1.16615, 'close': 1.1665, 'volume': 35.0} | asctime='2026-05-30 17:20:02'
2026-05-30 17:20:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 2, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 17:20:02'
2026-05-30 17:20:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 3, 18000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 17:20:03'
2026-05-30 17:20:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 17, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 17:20:17'
2026-05-30 17:20:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 19, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:20:19'
2026-05-30 17:20:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 21, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 17:20:21'
2026-05-30 17:20:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 27, 722000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:20:27'
2026-05-30 17:20:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 28, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 17:20:28'
2026-05-30 17:20:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 30, 827000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 17:20:30'
2026-05-30 17:20:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 34, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 17:20:34'
2026-05-30 17:20:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 36, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 17:20:36'
2026-05-30 17:20:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 37, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:20:37'
2026-05-30 17:20:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 42, 247000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:20:42'
2026-05-30 17:20:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 43, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 17:20:43'
2026-05-30 17:20:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 43, 488000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 17:20:43'
2026-05-30 17:20:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 44, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 17:20:44'
2026-05-30 17:20:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 49, 447000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 17:20:49'
2026-05-30 17:20:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 50, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 17:20:50'
2026-05-30 17:20:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 20, 56, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 17:20:56'
2026-05-30 17:21:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 21, 50, 488188, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16566, 'low': 1.16501, 'close': 1.16548, 'volume': 18.0} | asctime='2026-05-30 17:21:50'
2026-05-30 17:21:50 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 21, 50, 489342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16686, 'low': 1.16611, 'close': 1.16638, 'volume': 18.0} | asctime='2026-05-30 17:21:50'
2026-05-30 17:21:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 21, 50, 401000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 17:21:50'
2026-05-30 17:21:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 21, 51, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 17:21:51'
2026-05-30 17:21:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 21, 52, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 17:21:52'
2026-05-30 17:21:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 21, 54, 248000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 17:21:54'
2026-05-30 17:21:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 21, 58, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 17:21:58'
2026-05-30 17:21:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 21, 58, 841000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 17:21:58'
2026-05-30 17:22:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 1, 288530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16549, 'low': 1.16501, 'close': 1.16544, 'volume': 6.0} | asctime='2026-05-30 17:22:01'
2026-05-30 17:22:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 1, 289614, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16659, 'low': 1.16614, 'close': 1.16614, 'volume': 6.0} | asctime='2026-05-30 17:22:01'
2026-05-30 17:22:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 1, 215000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 17:22:01'
2026-05-30 17:22:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 1, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 17:22:01'
2026-05-30 17:22:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 1, 945000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:22:01'
2026-05-30 17:22:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 9, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:22:09'
2026-05-30 17:22:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 10, 262000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 17:22:10'
2026-05-30 17:22:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 12, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 17:22:12'
2026-05-30 17:22:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 13, 986000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 17:22:14'
2026-05-30 17:22:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 22, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 17:22:22'
2026-05-30 17:22:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 32, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 17:22:32'
2026-05-30 17:22:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 34, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 17:22:34'
2026-05-30 17:22:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 36, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 17:22:36'
2026-05-30 17:22:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 36, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 17:22:36'
2026-05-30 17:22:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 44, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 17:22:44'
2026-05-30 17:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 52, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 17:22:52'
2026-05-30 17:22:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 22, 54, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 17:22:54'
2026-05-30 17:23:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 23, 20, 587321, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16546, 'low': 1.16501, 'close': 1.1653, 'volume': 15.0} | asctime='2026-05-30 17:23:20'
2026-05-30 17:23:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 23, 20, 588389, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16678, 'low': 1.16618, 'close': 1.1662, 'volume': 15.0} | asctime='2026-05-30 17:23:20'
2026-05-30 17:23:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 23, 20, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 17:23:20'
2026-05-30 17:24:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 22, 136952, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16504, 'high': 1.16504, 'low': 1.16504, 'close': 1.16504, 'volume': 1.0} | asctime='2026-05-30 17:24:22'
2026-05-30 17:24:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 22, 138260, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16636, 'high': 1.16636, 'low': 1.16636, 'close': 1.16636, 'volume': 1.0} | asctime='2026-05-30 17:24:22'
2026-05-30 17:24:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 22, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 17:24:22'
2026-05-30 17:24:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 22, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16487, 'volume': 0.0} | asctime='2026-05-30 17:24:23'
2026-05-30 17:24:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 25, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 17:24:25'
2026-05-30 17:24:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 26, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:24:26'
2026-05-30 17:24:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 28, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 17:24:28'
2026-05-30 17:24:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 36, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 17:24:36'
2026-05-30 17:24:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 46, 554000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 17:24:46'
2026-05-30 17:24:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 52, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 17:24:52'
2026-05-30 17:24:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 54, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 17:24:54'
2026-05-30 17:24:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 24, 58, 968000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 17:24:59'
2026-05-30 17:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 0, 136995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16552, 'low': 1.16487, 'close': 1.16521, 'volume': 10.0} | asctime='2026-05-30 17:25:00'
2026-05-30 17:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 0, 138207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16609, 'high': 1.1667, 'low': 1.16609, 'close': 1.16653, 'volume': 10.0} | asctime='2026-05-30 17:25:00'
2026-05-30 17:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 0, 139586, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16519, 'high': 1.16566, 'low': 1.16487, 'close': 1.16521, 'volume': 50.0} | asctime='2026-05-30 17:25:00'
2026-05-30 17:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 0, 140689, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16651, 'high': 1.16686, 'low': 1.16609, 'close': 1.16653, 'volume': 50.0} | asctime='2026-05-30 17:25:00'
2026-05-30 17:25:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 0, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 17:25:00'
2026-05-30 17:25:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 4, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 17:25:04'
2026-05-30 17:25:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 9, 521000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 17:25:09'
2026-05-30 17:25:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 20, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 17:25:20'
2026-05-30 17:25:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 54, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 17:25:54'
2026-05-30 17:25:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 25, 56, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:25:56'
2026-05-30 17:26:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 26, 34, 986109, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16549, 'low': 1.16494, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 17:26:34'
2026-05-30 17:26:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 26, 34, 987177, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16659, 'low': 1.16611, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 17:26:34'
2026-05-30 17:26:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 26, 34, 928000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:26:34'
2026-05-30 17:26:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 26, 35, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 17:26:35'
2026-05-30 17:26:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 26, 38, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 17:26:38'
2026-05-30 17:26:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 26, 40, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 17:26:40'
2026-05-30 17:26:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 26, 45, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:26:45'
2026-05-30 17:26:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 26, 46, 224000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 17:26:46'
2026-05-30 17:27:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 2, 184947, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16511, 'low': 1.1649, 'close': 1.16504, 'volume': 6.0} | asctime='2026-05-30 17:27:02'
2026-05-30 17:27:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 2, 186034, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.1666, 'low': 1.16632, 'close': 1.1666, 'volume': 6.0} | asctime='2026-05-30 17:27:02'
2026-05-30 17:27:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 2, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 17:27:02'
2026-05-30 17:27:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 2, 735000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 17:27:02'
2026-05-30 17:27:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 3, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 17:27:03'
2026-05-30 17:27:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 4, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 17:27:04'
2026-05-30 17:27:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 21, 977000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 17:27:22'
2026-05-30 17:27:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 24, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 17:27:24'
2026-05-30 17:27:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 26, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 17:27:26'
2026-05-30 17:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 28, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 17:27:28'
2026-05-30 17:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 28, 432000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 17:27:28'
2026-05-30 17:27:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 27, 30, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 17:27:30'
2026-05-30 17:28:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 28, 20, 385182, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.1653, 'low': 1.16498, 'close': 1.16525, 'volume': 10.0} | asctime='2026-05-30 17:28:20'
2026-05-30 17:28:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 28, 20, 386034, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16678, 'high': 1.16686, 'low': 1.16615, 'close': 1.16615, 'volume': 10.0} | asctime='2026-05-30 17:28:20'
2026-05-30 17:28:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 28, 20, 323000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 17:28:20'
2026-05-30 17:28:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 28, 20, 571000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:28:20'
2026-05-30 17:28:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 28, 22, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:28:22'
2026-05-30 17:28:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 28, 38, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 17:28:38'
2026-05-30 17:28:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 28, 44, 778000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16477, 'volume': 0.0} | asctime='2026-05-30 17:28:44'
2026-05-30 17:28:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 28, 48, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:28:48'
2026-05-30 17:28:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 28, 56, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:28:56'
2026-05-30 17:29:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 29, 4, 184028, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16534, 'low': 1.16477, 'close': 1.16518, 'volume': 7.0} | asctime='2026-05-30 17:29:04'
2026-05-30 17:29:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 29, 4, 185361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16681, 'low': 1.16624, 'close': 1.1665, 'volume': 7.0} | asctime='2026-05-30 17:29:04'
2026-05-30 17:29:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 29, 4, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 17:29:04'
2026-05-30 17:29:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 29, 15, 441000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 17:29:15'
2026-05-30 17:29:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 29, 22, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 17:29:22'
2026-05-30 17:29:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 29, 24, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 17:29:24'
2026-05-30 17:29:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 29, 33, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 17:29:33'
2026-05-30 17:29:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 29, 33, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:29:33'
2026-05-30 17:29:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 29, 34, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 17:29:34'
2026-05-30 17:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 1, 183598, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16554, 'low': 1.16512, 'close': 1.16534, 'volume': 7.0} | asctime='2026-05-30 17:30:01'
2026-05-30 17:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 1, 184636, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16668, 'low': 1.16624, 'close': 1.16624, 'volume': 7.0} | asctime='2026-05-30 17:30:01'
2026-05-30 17:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 1, 186517, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16549, 'high': 1.16554, 'low': 1.16477, 'close': 1.16534, 'volume': 36.0} | asctime='2026-05-30 17:30:01'
2026-05-30 17:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 1, 187030, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16639, 'high': 1.16686, 'low': 1.16611, 'close': 1.16624, 'volume': 36.0} | asctime='2026-05-30 17:30:01'
2026-05-30 17:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 1, 187477, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16542, 'high': 1.16566, 'low': 1.16477, 'close': 1.16534, 'volume': 121.0} | asctime='2026-05-30 17:30:01'
2026-05-30 17:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 1, 187927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16632, 'high': 1.16686, 'low': 1.16609, 'close': 1.16624, 'volume': 121.0} | asctime='2026-05-30 17:30:01'
2026-05-30 17:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 1, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:30:01'
2026-05-30 17:30:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 3, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 17:30:03'
2026-05-30 17:30:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 4, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:30:04'
2026-05-30 17:30:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 7, 331000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 17:30:07'
2026-05-30 17:30:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 7, 579000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 17:30:07'
2026-05-30 17:30:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 8, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 17:30:08'
2026-05-30 17:30:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 8, 448000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 17:30:08'
2026-05-30 17:30:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 14, 904000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 17:30:14'
2026-05-30 17:30:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 15, 27000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 17:30:15'
2026-05-30 17:30:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 15, 400000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 17:30:15'
2026-05-30 17:30:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 16, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 17:30:16'
2026-05-30 17:30:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 19, 869000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 17:30:19'
2026-05-30 17:30:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 19, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 17:30:20'
2026-05-30 17:30:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 22, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 17:30:22'
2026-05-30 17:30:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 23, 221000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 17:30:23'
2026-05-30 17:30:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 24, 959000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 17:30:25'
2026-05-30 17:30:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 25, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:30:25'
2026-05-30 17:30:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 26, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 17:30:26'
2026-05-30 17:30:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 28, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16607, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 17:30:28'
2026-05-30 17:30:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 45, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 17:30:45'
2026-05-30 17:30:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 48, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 17:30:48'
2026-05-30 17:30:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 51, 774000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:30:51'
2026-05-30 17:30:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 52, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 17:30:52'
2026-05-30 17:30:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 30, 54, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 17:30:54'
2026-05-30 17:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 4, 233617, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16541, 'low': 1.16489, 'close': 1.16541, 'volume': 24.0} | asctime='2026-05-30 17:31:04'
2026-05-30 17:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 4, 234756, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16669, 'low': 1.16607, 'close': 1.16631, 'volume': 24.0} | asctime='2026-05-30 17:31:04'
2026-05-30 17:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 4, 188000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 17:31:04'
2026-05-30 17:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 4, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 17:31:04'
2026-05-30 17:31:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 6, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 17:31:06'
2026-05-30 17:31:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 10, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 17:31:10'
2026-05-30 17:31:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 10, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 17:31:10'
2026-05-30 17:31:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 18, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 17:31:18'
2026-05-30 17:31:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 53, 472000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:31:53'
2026-05-30 17:31:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 56, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 17:31:56'
2026-05-30 17:31:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 31, 58, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 17:31:58'
2026-05-30 17:32:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 0, 482511, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.1656, 'low': 1.16492, 'close': 1.1656, 'volume': 9.0} | asctime='2026-05-30 17:32:00'
2026-05-30 17:32:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 0, 486438, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16667, 'low': 1.16624, 'close': 1.1665, 'volume': 9.0} | asctime='2026-05-30 17:32:00'
2026-05-30 17:32:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 0, 423000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16699, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 17:32:00'
2026-05-30 17:32:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 4, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 17:32:04'
2026-05-30 17:32:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 6, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 17:32:06'
2026-05-30 17:32:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 7, 996000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 17:32:08'
2026-05-30 17:32:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 9, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 17:32:10'
2026-05-30 17:32:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 10, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16463, 'volume': 0.0} | asctime='2026-05-30 17:32:10'
2026-05-30 17:32:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 12, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16462, 'volume': 0.0} | asctime='2026-05-30 17:32:12'
2026-05-30 17:32:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 14, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:32:14'
2026-05-30 17:32:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 18, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:32:18'
2026-05-30 17:32:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 23, 886000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:32:23'
2026-05-30 17:32:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 40, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 17:32:40'
2026-05-30 17:32:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 44, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:32:44'
2026-05-30 17:32:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 49, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16459, 'volume': 0.0} | asctime='2026-05-30 17:32:49'
2026-05-30 17:32:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 52, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 17:32:52'
2026-05-30 17:32:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 57, 280000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 17:32:57'
2026-05-30 17:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 32, 58, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:32:58'
2026-05-30 17:33:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 7, 781545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16495, 'high': 1.16538, 'low': 1.16459, 'close': 1.16518, 'volume': 16.0} | asctime='2026-05-30 17:33:07'
2026-05-30 17:33:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 7, 783242, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16699, 'high': 1.16699, 'low': 1.16628, 'close': 1.1665, 'volume': 16.0} | asctime='2026-05-30 17:33:07'
2026-05-30 17:33:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 7, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 17:33:07'
2026-05-30 17:33:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 7, 831000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 17:33:07'
2026-05-30 17:33:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 8, 701000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 17:33:08'
2026-05-30 17:33:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 9, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 17:33:09'
2026-05-30 17:33:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 9, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 17:33:09'
2026-05-30 17:33:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 10, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 17:33:10'
2026-05-30 17:33:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 18, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 17:33:18'
2026-05-30 17:33:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 19, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 17:33:19'
2026-05-30 17:33:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 20, 742000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 17:33:20'
2026-05-30 17:33:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 22, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 17:33:22'
2026-05-30 17:33:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 27, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 17:33:27'
2026-05-30 17:33:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 28, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 17:33:28'
2026-05-30 17:33:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 30, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 17:33:30'
2026-05-30 17:33:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 30, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 17:33:30'
2026-05-30 17:33:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 32, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 17:33:32'
2026-05-30 17:33:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 33, 32000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 17:33:33'
2026-05-30 17:33:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 34, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 17:33:34'
2026-05-30 17:33:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 34, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 17:33:34'
2026-05-30 17:33:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 36, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 17:33:36'
2026-05-30 17:33:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 38, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 17:33:38'
2026-05-30 17:33:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 33, 44, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 17:33:44'
2026-05-30 17:34:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 34, 11, 681528, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.16558, 'low': 1.16492, 'close': 1.16532, 'volume': 21.0} | asctime='2026-05-30 17:34:11'
2026-05-30 17:34:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 34, 11, 682231, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16677, 'low': 1.16617, 'close': 1.16622, 'volume': 21.0} | asctime='2026-05-30 17:34:11'
2026-05-30 17:34:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 34, 11, 640000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 17:34:11'
2026-05-30 17:34:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 34, 12, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 17:34:12'
2026-05-30 17:35:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 15, 130655, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16548, 'low': 1.1652, 'close': 1.16548, 'volume': 2.0} | asctime='2026-05-30 17:35:15'
2026-05-30 17:35:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 15, 131702, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16652, 'low': 1.16638, 'close': 1.16638, 'volume': 2.0} | asctime='2026-05-30 17:35:15'
2026-05-30 17:35:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 15, 132997, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16507, 'high': 1.1656, 'low': 1.16459, 'close': 1.16548, 'volume': 72.0} | asctime='2026-05-30 17:35:15'
2026-05-30 17:35:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 15, 133527, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16639, 'high': 1.16699, 'low': 1.16607, 'close': 1.16638, 'volume': 72.0} | asctime='2026-05-30 17:35:15'
2026-05-30 17:35:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 15, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:35:15'
2026-05-30 17:35:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 15, 199000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 17:35:15'
2026-05-30 17:35:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 20, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:35:20'
2026-05-30 17:35:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 21, 903000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 17:35:21'
2026-05-30 17:35:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 24, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:35:24'
2026-05-30 17:35:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 35, 24, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 17:35:24'
2026-05-30 17:36:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 36, 5, 780172, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16553, 'low': 1.16507, 'close': 1.16553, 'volume': 6.0} | asctime='2026-05-30 17:36:05'
2026-05-30 17:36:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 36, 5, 781317, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16664, 'low': 1.16623, 'close': 1.16623, 'volume': 6.0} | asctime='2026-05-30 17:36:05'
2026-05-30 17:36:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 36, 5, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 17:36:05'
2026-05-30 17:36:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 36, 9, 573000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 17:36:09'
2026-05-30 17:36:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 36, 20, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 17:36:20'
2026-05-30 17:37:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 0, 529556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16537, 'low': 1.16497, 'close': 1.16497, 'volume': 3.0} | asctime='2026-05-30 17:37:00'
2026-05-30 17:37:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 0, 530604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16655, 'low': 1.16627, 'close': 1.16653, 'volume': 3.0} | asctime='2026-05-30 17:37:00'
2026-05-30 17:37:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 0, 471000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 17:37:00'
2026-05-30 17:37:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 0, 719000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16681, 'bid_price': 1.16453, 'volume': 0.0} | asctime='2026-05-30 17:37:00'
2026-05-30 17:37:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 1, 836000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 17:37:01'
2026-05-30 17:37:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 2, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:37:02'
2026-05-30 17:37:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 8, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:37:08'
2026-05-30 17:37:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 14, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 17:37:14'
2026-05-30 17:37:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 22, 940000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 17:37:22'
2026-05-30 17:37:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 30, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 17:37:30'
2026-05-30 17:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 32, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 17:37:32'
2026-05-30 17:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 32, 748000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 17:37:32'
2026-05-30 17:37:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 34, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 17:37:34'
2026-05-30 17:37:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 40, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 17:37:40'
2026-05-30 17:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 37, 41, 810000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 17:37:41'
2026-05-30 17:38:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 38, 31, 128757, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16501, 'high': 1.16558, 'low': 1.16453, 'close': 1.16558, 'volume': 13.0} | asctime='2026-05-30 17:38:31'
2026-05-30 17:38:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 38, 31, 130132, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16681, 'low': 1.16628, 'close': 1.16648, 'volume': 13.0} | asctime='2026-05-30 17:38:31'
2026-05-30 17:38:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 38, 31, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 17:38:31'
2026-05-30 17:38:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 38, 36, 679000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 17:38:36'
2026-05-30 17:38:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 38, 45, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:38:45'
2026-05-30 17:38:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 38, 47, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 17:38:47'
2026-05-30 17:39:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 39, 0, 578393, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16559, 'high': 1.16559, 'low': 1.16518, 'close': 1.16545, 'volume': 4.0} | asctime='2026-05-30 17:39:00'
2026-05-30 17:39:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 39, 0, 584074, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16675, 'low': 1.16635, 'close': 1.16635, 'volume': 4.0} | asctime='2026-05-30 17:39:00'
2026-05-30 17:39:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 39, 0, 514000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 17:39:00'
2026-05-30 17:39:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 39, 30, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 17:39:30'
2026-05-30 17:39:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 39, 31, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 17:39:31'
2026-05-30 17:39:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 39, 34, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 17:39:34'
2026-05-30 17:39:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 39, 45, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 17:39:45'
2026-05-30 17:39:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 39, 47, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 17:39:47'
2026-05-30 17:39:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 39, 49, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 17:39:49'
2026-05-30 17:41:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 41, 17, 876674, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16535, 'low': 1.16494, 'close': 1.16535, 'volume': 7.0} | asctime='2026-05-30 17:41:17'
2026-05-30 17:41:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 41, 17, 878978, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16624, 'close': 1.16625, 'volume': 7.0} | asctime='2026-05-30 17:41:17'
2026-05-30 17:41:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 41, 17, 880280, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16559, 'low': 1.16453, 'close': 1.16535, 'volume': 33.0} | asctime='2026-05-30 17:41:17'
2026-05-30 17:41:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 41, 17, 881326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16681, 'low': 1.16623, 'close': 1.16625, 'volume': 33.0} | asctime='2026-05-30 17:41:17'
2026-05-30 17:41:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 41, 17, 813000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 17:41:17'
2026-05-30 17:41:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 41, 18, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:41:18'
2026-05-30 17:41:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 41, 19, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 17:41:19'
2026-05-30 17:41:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 41, 26, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 17:41:26'
2026-05-30 17:41:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 41, 28, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 17:41:28'
2026-05-30 17:42:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 42, 0, 576260, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16553, 'low': 1.16511, 'close': 1.16553, 'volume': 5.0} | asctime='2026-05-30 17:42:00'
2026-05-30 17:42:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 42, 0, 578621, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16667, 'low': 1.16637, 'close': 1.16643, 'volume': 5.0} | asctime='2026-05-30 17:42:00'
2026-05-30 17:42:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 42, 0, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 17:42:00'
2026-05-30 17:42:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 42, 16, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 17:42:16'
2026-05-30 17:43:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 43, 41, 126572, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16536, 'low': 1.16522, 'close': 1.16536, 'volume': 2.0} | asctime='2026-05-30 17:43:41'
2026-05-30 17:43:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 43, 41, 128696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16626, 'close': 1.16626, 'volume': 2.0} | asctime='2026-05-30 17:43:41'
2026-05-30 17:43:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 43, 41, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 17:43:41'
2026-05-30 17:43:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 43, 48, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:43:48'
2026-05-30 17:43:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 43, 50, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 17:43:50'
2026-05-30 17:43:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 43, 57, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 17:43:57'
2026-05-30 17:44:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 44, 44, 324134, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16543, 'low': 1.16537, 'close': 1.16543, 'volume': 4.0} | asctime='2026-05-30 17:44:44'
2026-05-30 17:44:44 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 44, 44, 325823, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16633, 'low': 1.16627, 'close': 1.16633, 'volume': 4.0} | asctime='2026-05-30 17:44:44'
2026-05-30 17:44:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 44, 44, 257000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 17:44:44'
2026-05-30 17:45:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 12, 374447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16513, 'low': 1.16513, 'close': 1.16513, 'volume': 1.0} | asctime='2026-05-30 17:45:12'
2026-05-30 17:45:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 12, 375325, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16645, 'close': 1.16645, 'volume': 1.0} | asctime='2026-05-30 17:45:12'
2026-05-30 17:45:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 12, 376468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16524, 'high': 1.16553, 'low': 1.16511, 'close': 1.16513, 'volume': 12.0} | asctime='2026-05-30 17:45:12'
2026-05-30 17:45:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 12, 376999, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16656, 'high': 1.16667, 'low': 1.16626, 'close': 1.16645, 'volume': 12.0} | asctime='2026-05-30 17:45:12'
2026-05-30 17:45:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 12, 377467, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16507, 'high': 1.1656, 'low': 1.16453, 'close': 1.16513, 'volume': 117.0} | asctime='2026-05-30 17:45:12'
2026-05-30 17:45:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 12, 377935, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16639, 'high': 1.16699, 'low': 1.16607, 'close': 1.16645, 'volume': 117.0} | asctime='2026-05-30 17:45:12'
2026-05-30 17:45:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 12, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:45:12'
2026-05-30 17:45:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 14, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16606, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 17:45:14'
2026-05-30 17:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 16, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16603, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 17:45:16'
2026-05-30 17:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 16, 533000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 17:45:16'
2026-05-30 17:45:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 45, 458000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 17:45:45'
2026-05-30 17:45:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 46, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 17:45:46'
2026-05-30 17:45:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 56, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 17:45:56'
2026-05-30 17:45:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 45, 58, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 17:45:58'
2026-05-30 17:46:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 46, 18, 273549, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16552, 'low': 1.16499, 'close': 1.16552, 'volume': 8.0} | asctime='2026-05-30 17:46:18'
2026-05-30 17:46:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 46, 18, 274605, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16655, 'low': 1.16603, 'close': 1.16642, 'volume': 8.0} | asctime='2026-05-30 17:46:18'
2026-05-30 17:46:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 46, 18, 231000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 17:46:18'
2026-05-30 17:46:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 46, 59, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 17:46:59'
2026-05-30 17:47:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 1, 123577, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16501, 'high': 1.16502, 'low': 1.16501, 'close': 1.16502, 'volume': 2.0} | asctime='2026-05-30 17:47:01'
2026-05-30 17:47:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 1, 124309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16657, 'low': 1.16634, 'close': 1.16634, 'volume': 2.0} | asctime='2026-05-30 17:47:01'
2026-05-30 17:47:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 1, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16607, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 17:47:01'
2026-05-30 17:47:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 2, 550000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:47:02'
2026-05-30 17:47:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 3, 46000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 17:47:03'
2026-05-30 17:47:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 9, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 17:47:09'
2026-05-30 17:47:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 11, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 17:47:11'
2026-05-30 17:47:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 14, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 17:47:14'
2026-05-30 17:47:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 15, 336000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16486, 'volume': 0.0} | asctime='2026-05-30 17:47:15'
2026-05-30 17:47:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 17, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16483, 'volume': 0.0} | asctime='2026-05-30 17:47:17'
2026-05-30 17:47:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 25, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:47:25'
2026-05-30 17:47:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 30, 233000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:47:30'
2026-05-30 17:47:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 30, 357000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 17:47:30'
2026-05-30 17:47:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 31, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 17:47:31'
2026-05-30 17:47:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 47, 33, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 17:47:33'
2026-05-30 17:48:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 48, 32, 222202, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16539, 'low': 1.16483, 'close': 1.16504, 'volume': 13.0} | asctime='2026-05-30 17:48:32'
2026-05-30 17:48:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 48, 32, 223067, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16607, 'high': 1.16662, 'low': 1.16607, 'close': 1.16636, 'volume': 13.0} | asctime='2026-05-30 17:48:32'
2026-05-30 17:48:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 48, 32, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 17:48:32'
2026-05-30 17:48:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 48, 32, 427000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 17:48:32'
2026-05-30 17:48:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 48, 33, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 17:48:33'
2026-05-30 17:48:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 48, 52, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 17:48:52'
2026-05-30 17:49:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 49, 0, 171857, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16528, 'low': 1.16495, 'close': 1.16512, 'volume': 4.0} | asctime='2026-05-30 17:49:00'
2026-05-30 17:49:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 49, 0, 172696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.16675, 'low': 1.16644, 'close': 1.16644, 'volume': 4.0} | asctime='2026-05-30 17:49:00'
2026-05-30 17:49:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 49, 0, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 17:49:00'
2026-05-30 17:49:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 49, 2, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 17:49:02'
2026-05-30 17:49:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 49, 13, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 17:49:13'
2026-05-30 17:49:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 49, 24, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 17:49:24'
2026-05-30 17:51:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 51, 2, 170854, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16545, 'low': 1.16507, 'close': 1.16545, 'volume': 4.0} | asctime='2026-05-30 17:51:02'
2026-05-30 17:51:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 51, 2, 171617, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.1665, 'low': 1.16624, 'close': 1.16635, 'volume': 4.0} | asctime='2026-05-30 17:51:02'
2026-05-30 17:51:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 51, 2, 173061, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16507, 'high': 1.16552, 'low': 1.16483, 'close': 1.16545, 'volume': 31.0} | asctime='2026-05-30 17:51:02'
2026-05-30 17:51:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 51, 2, 173896, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16639, 'high': 1.16675, 'low': 1.16603, 'close': 1.16635, 'volume': 31.0} | asctime='2026-05-30 17:51:02'
2026-05-30 17:51:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 51, 2, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 17:51:02'
2026-05-30 17:51:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 51, 22, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:51:22'
2026-05-30 17:51:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 51, 30, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 17:51:30'
2026-05-30 17:51:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 51, 51, 175000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 17:51:51'
2026-05-30 17:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 52, 0, 670602, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16511, 'close': 1.16513, 'volume': 4.0} | asctime='2026-05-30 17:52:00'
2026-05-30 17:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 52, 0, 671724, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16645, 'low': 1.16629, 'close': 1.16645, 'volume': 4.0} | asctime='2026-05-30 17:52:00'
2026-05-30 17:52:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 52, 0, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:52:00'
2026-05-30 17:52:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 52, 2, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 17:52:02'
2026-05-30 17:53:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 53, 33, 119130, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.1654, 'low': 1.1651, 'close': 1.1654, 'volume': 2.0} | asctime='2026-05-30 17:53:33'
2026-05-30 17:53:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 53, 33, 119996, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.1663, 'close': 1.1663, 'volume': 2.0} | asctime='2026-05-30 17:53:33'
2026-05-30 17:53:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 53, 33, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 17:53:33'
2026-05-30 17:53:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 53, 34, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:53:34'
2026-05-30 17:54:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 54, 42, 668762, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16539, 'low': 1.16536, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 17:54:42'
2026-05-30 17:54:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 54, 42, 671100, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16629, 'low': 1.16626, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 17:54:42'
2026-05-30 17:54:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 54, 42, 611000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 17:54:42'
2026-05-30 17:55:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 10, 218975, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16543, 'close': 1.16543, 'volume': 1.0} | asctime='2026-05-30 17:55:10'
2026-05-30 17:55:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 10, 219963, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16633, 'low': 1.16633, 'close': 1.16633, 'volume': 1.0} | asctime='2026-05-30 17:55:10'
2026-05-30 17:55:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 10, 221093, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.1651, 'close': 1.16543, 'volume': 9.0} | asctime='2026-05-30 17:55:10'
2026-05-30 17:55:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 10, 221675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16634, 'high': 1.16645, 'low': 1.16626, 'close': 1.16633, 'volume': 9.0} | asctime='2026-05-30 17:55:10'
2026-05-30 17:55:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 10, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 17:55:10'
2026-05-30 17:55:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 27, 922000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 17:55:27'
2026-05-30 17:55:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 34, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 17:55:34'
2026-05-30 17:55:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 38, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 17:55:38'
2026-05-30 17:55:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 38, 845000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 17:55:38'
2026-05-30 17:55:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 55, 50, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 17:55:50'
2026-05-30 17:56:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 56, 16, 117540, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16547, 'high': 1.16547, 'low': 1.16498, 'close': 1.16515, 'volume': 6.0} | asctime='2026-05-30 17:56:16'
2026-05-30 17:56:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 56, 16, 123257, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16678, 'low': 1.16637, 'close': 1.16647, 'volume': 6.0} | asctime='2026-05-30 17:56:16'
2026-05-30 17:56:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 56, 16, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 17:56:16'
2026-05-30 17:56:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 56, 18, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 17:56:18'
2026-05-30 17:56:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 56, 19, 812000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 17:56:19'
2026-05-30 17:56:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 56, 22, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 17:56:22'
2026-05-30 17:57:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 57, 20, 566861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16537, 'low': 1.16508, 'close': 1.16526, 'volume': 4.0} | asctime='2026-05-30 17:57:20'
2026-05-30 17:57:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 57, 20, 567784, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16616, 'close': 1.16616, 'volume': 4.0} | asctime='2026-05-30 17:57:20'
2026-05-30 17:57:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 57, 20, 518000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 17:57:20'
2026-05-30 17:58:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 58, 0, 166921, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16515, 'low': 1.16515, 'close': 1.16515, 'volume': 1.0} | asctime='2026-05-30 17:58:00'
2026-05-30 17:58:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 58, 0, 168002, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16647, 'low': 1.16647, 'close': 1.16647, 'volume': 1.0} | asctime='2026-05-30 17:58:00'
2026-05-30 17:58:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 58, 0, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 17:58:00'
2026-05-30 17:58:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 58, 2, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 17:58:02'
2026-05-30 17:58:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 58, 47, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 17:58:47'
2026-05-30 17:58:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 17, 58, 50, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 17:58:50'
2026-05-30 18:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 3, 65632, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16536, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 18:00:03'
2026-05-30 18:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 3, 66857, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16633, 'low': 1.16626, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 18:00:03'
2026-05-30 18:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 3, 67535, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16547, 'high': 1.16547, 'low': 1.16498, 'close': 1.16539, 'volume': 15.0} | asctime='2026-05-30 18:00:03'
2026-05-30 18:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 3, 68039, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16637, 'high': 1.16678, 'low': 1.16616, 'close': 1.16629, 'volume': 15.0} | asctime='2026-05-30 18:00:03'
2026-05-30 18:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 3, 69324, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16507, 'high': 1.16552, 'low': 1.16483, 'close': 1.16539, 'volume': 55.0} | asctime='2026-05-30 18:00:03'
2026-05-30 18:00:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 3, 70149, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16639, 'high': 1.16678, 'low': 1.16603, 'close': 1.16629, 'volume': 55.0} | asctime='2026-05-30 18:00:03'
2026-05-30 18:00:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 3, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:00:03'
2026-05-30 18:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 4, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 18:00:04'
2026-05-30 18:00:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 28, 341000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 18:00:28'
2026-05-30 18:00:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 0, 30, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:00:30'
2026-05-30 18:01:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 1, 20, 164627, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16549, 'low': 1.16541, 'close': 1.16541, 'volume': 4.0} | asctime='2026-05-30 18:01:20'
2026-05-30 18:01:20 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 1, 20, 165717, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16639, 'low': 1.16631, 'close': 1.16631, 'volume': 4.0} | asctime='2026-05-30 18:01:20'
2026-05-30 18:01:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 1, 20, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:01:20'
2026-05-30 18:01:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 1, 59, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 18:01:59'
2026-05-30 18:02:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 2, 1, 113957, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16509, 'close': 1.16509, 'volume': 2.0} | asctime='2026-05-30 18:02:01'
2026-05-30 18:02:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 2, 1, 114841, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16641, 'low': 1.16629, 'close': 1.16641, 'volume': 2.0} | asctime='2026-05-30 18:02:01'
2026-05-30 18:02:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 2, 1, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 18:02:01'
2026-05-30 18:02:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 2, 17, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:02:17'
2026-05-30 18:02:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 2, 23, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 18:02:23'
2026-05-30 18:02:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 2, 33, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 18:02:33'
2026-05-30 18:03:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 3, 53, 313228, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16526, 'low': 1.16503, 'close': 1.16526, 'volume': 4.0} | asctime='2026-05-30 18:03:53'
2026-05-30 18:03:53 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 3, 53, 314249, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16608, 'high': 1.16659, 'low': 1.16608, 'close': 1.16658, 'volume': 4.0} | asctime='2026-05-30 18:03:53'
2026-05-30 18:03:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 3, 53, 295000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 18:03:53'
2026-05-30 18:03:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 3, 54, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 18:03:54'
2026-05-30 18:03:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 3, 54, 536000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 18:03:54'
2026-05-30 18:03:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 3, 55, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:03:55'
2026-05-30 18:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 4, 0, 165540, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.1654, 'low': 1.16507, 'close': 1.16507, 'volume': 4.0} | asctime='2026-05-30 18:04:00'
2026-05-30 18:04:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 4, 0, 167317, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16628, 'close': 1.16639, 'volume': 4.0} | asctime='2026-05-30 18:04:00'
2026-05-30 18:04:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 4, 0, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:04:00'
2026-05-30 18:04:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 4, 4, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:04:04'
2026-05-30 18:04:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 4, 6, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 18:04:06'
2026-05-30 18:04:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 4, 16, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 18:04:16'
2026-05-30 18:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 5, 0, 112657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16536, 'low': 1.16505, 'close': 1.16509, 'volume': 4.0} | asctime='2026-05-30 18:05:00'
2026-05-30 18:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 5, 0, 114634, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.16641, 'low': 1.16626, 'close': 1.16641, 'volume': 4.0} | asctime='2026-05-30 18:05:00'
2026-05-30 18:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 5, 0, 115854, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16541, 'high': 1.16549, 'low': 1.16503, 'close': 1.16509, 'volume': 18.0} | asctime='2026-05-30 18:05:00'
2026-05-30 18:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 5, 0, 117014, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16631, 'high': 1.16659, 'low': 1.16608, 'close': 1.16641, 'volume': 18.0} | asctime='2026-05-30 18:05:00'
2026-05-30 18:05:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 5, 0, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 18:05:00'
2026-05-30 18:06:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 6, 19, 211921, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16524, 'low': 1.16524, 'close': 1.16524, 'volume': 1.0} | asctime='2026-05-30 18:06:19'
2026-05-30 18:06:19 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 6, 19, 212930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16614, 'high': 1.16614, 'low': 1.16614, 'close': 1.16614, 'volume': 1.0} | asctime='2026-05-30 18:06:19'
2026-05-30 18:06:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 6, 19, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 18:06:19'
2026-05-30 18:06:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 6, 22, 262000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 18:06:22'
2026-05-30 18:06:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 6, 24, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 18:06:24'
2026-05-30 18:06:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 6, 25, 242000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:06:25'
2026-05-30 18:06:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 6, 26, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 18:06:26'
2026-05-30 18:08:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 25, 560424, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16493, 'high': 1.16517, 'low': 1.16493, 'close': 1.16517, 'volume': 5.0} | asctime='2026-05-30 18:08:25'
2026-05-30 18:08:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 25, 561335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16667, 'low': 1.16649, 'close': 1.16649, 'volume': 5.0} | asctime='2026-05-30 18:08:25'
2026-05-30 18:08:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 25, 534000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 18:08:25'
2026-05-30 18:08:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 34, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:08:34'
2026-05-30 18:08:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 34, 346000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 18:08:34'
2026-05-30 18:08:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 34, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 18:08:35'
2026-05-30 18:08:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 35, 215000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:08:35'
2026-05-30 18:08:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 36, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 18:08:36'
2026-05-30 18:08:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 38, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16566, 'volume': 0.0} | asctime='2026-05-30 18:08:38'
2026-05-30 18:08:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 42, 913000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 18:08:42'
2026-05-30 18:08:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 44, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 18:08:44'
2026-05-30 18:08:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 51, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:08:51'
2026-05-30 18:08:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 8, 51, 726000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:08:51'
2026-05-30 18:11:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 11, 7, 209199, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16566, 'low': 1.16498, 'close': 1.16527, 'volume': 11.0} | asctime='2026-05-30 18:11:07'
2026-05-30 18:11:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 11, 7, 209909, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16679, 'low': 1.16609, 'close': 1.16659, 'volume': 11.0} | asctime='2026-05-30 18:11:07'
2026-05-30 18:11:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 11, 7, 210484, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16524, 'high': 1.16566, 'low': 1.16493, 'close': 1.16527, 'volume': 17.0} | asctime='2026-05-30 18:11:07'
2026-05-30 18:11:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 11, 7, 210974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16614, 'high': 1.16679, 'low': 1.16609, 'close': 1.16659, 'volume': 17.0} | asctime='2026-05-30 18:11:07'
2026-05-30 18:11:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 11, 7, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 18:11:07'
2026-05-30 18:11:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 11, 9, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 18:11:09'
2026-05-30 18:11:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 11, 12, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 18:11:12'
2026-05-30 18:11:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 11, 13, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:11:13'
2026-05-30 18:11:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 11, 14, 239000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:11:14'
2026-05-30 18:13:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 13, 39, 507440, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16537, 'low': 1.16507, 'close': 1.16536, 'volume': 5.0} | asctime='2026-05-30 18:13:39'
2026-05-30 18:13:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 13, 39, 508380, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16624, 'close': 1.16626, 'volume': 5.0} | asctime='2026-05-30 18:13:39'
2026-05-30 18:13:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 13, 39, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 18:13:39'
2026-05-30 18:13:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 13, 43, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 18:13:43'
2026-05-30 18:13:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 13, 44, 324000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 18:13:44'
2026-05-30 18:13:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 13, 52, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 18:13:52'
2026-05-30 18:13:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 13, 55, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 18:13:55'
2026-05-30 18:16:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 16, 12, 206723, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.1653, 'close': 1.1653, 'volume': 5.0} | asctime='2026-05-30 18:16:12'
2026-05-30 18:16:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 16, 12, 207722, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.1662, 'close': 1.1662, 'volume': 5.0} | asctime='2026-05-30 18:16:12'
2026-05-30 18:16:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 16, 12, 209231, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16522, 'high': 1.16538, 'low': 1.16507, 'close': 1.1653, 'volume': 10.0} | asctime='2026-05-30 18:16:12'
2026-05-30 18:16:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 16, 12, 210176, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.1662, 'close': 1.1662, 'volume': 10.0} | asctime='2026-05-30 18:16:12'
2026-05-30 18:16:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 16, 12, 211038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16541, 'high': 1.16566, 'low': 1.16493, 'close': 1.1653, 'volume': 45.0} | asctime='2026-05-30 18:16:12'
2026-05-30 18:16:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 16, 12, 211865, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16631, 'high': 1.16679, 'low': 1.16608, 'close': 1.1662, 'volume': 45.0} | asctime='2026-05-30 18:16:12'
2026-05-30 18:16:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 16, 12, 176000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 18:16:12'
2026-05-30 18:16:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 16, 13, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:16:13'
2026-05-30 18:16:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 16, 15, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 18:16:15'
2026-05-30 18:17:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 17, 49, 154760, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16542, 'low': 1.16519, 'close': 1.16542, 'volume': 3.0} | asctime='2026-05-30 18:17:49'
2026-05-30 18:17:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 17, 49, 155990, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16651, 'low': 1.16625, 'close': 1.16632, 'volume': 3.0} | asctime='2026-05-30 18:17:49'
2026-05-30 18:17:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 17, 49, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:17:49'
2026-05-30 18:17:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 17, 54, 466000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 18:17:54'
2026-05-30 18:17:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 17, 54, 714000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 18:17:54'
2026-05-30 18:17:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 17, 55, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 18:17:55'
2026-05-30 18:17:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 17, 56, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:17:56'
2026-05-30 18:17:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 17, 56, 204000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:17:56'
2026-05-30 18:17:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 17, 56, 452000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 18:17:56'
2026-05-30 18:18:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 5, 154707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16536, 'low': 1.16499, 'close': 1.16528, 'volume': 7.0} | asctime='2026-05-30 18:18:05'
2026-05-30 18:18:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 5, 155394, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.1666, 'low': 1.16622, 'close': 1.1666, 'volume': 7.0} | asctime='2026-05-30 18:18:05'
2026-05-30 18:18:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 5, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 18:18:05'
2026-05-30 18:18:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 17, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 18:18:17'
2026-05-30 18:18:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 17, 182000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 18:18:17'
2026-05-30 18:18:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 19, 186000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 18:18:19'
2026-05-30 18:18:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 26, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 18:18:26'
2026-05-30 18:18:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 27, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 18:18:27'
2026-05-30 18:18:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 33, 321000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 18:18:33'
2026-05-30 18:18:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 39, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 18:18:39'
2026-05-30 18:18:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 42, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:18:42'
2026-05-30 18:18:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 18, 43, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 18:18:43'
2026-05-30 18:19:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 9, 703481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16555, 'high': 1.16558, 'low': 1.16523, 'close': 1.16548, 'volume': 10.0} | asctime='2026-05-30 18:19:09'
2026-05-30 18:19:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 9, 704506, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16679, 'low': 1.16638, 'close': 1.16638, 'volume': 10.0} | asctime='2026-05-30 18:19:09'
2026-05-30 18:19:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 9, 695000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 18:19:09'
2026-05-30 18:19:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 15, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 18:19:15'
2026-05-30 18:19:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 18, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 18:19:18'
2026-05-30 18:19:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 19, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:19:19'
2026-05-30 18:19:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 30, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 18:19:30'
2026-05-30 18:19:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 41, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 18:19:41'
2026-05-30 18:19:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 51, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 18:19:51'
2026-05-30 18:19:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 19, 53, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 18:19:53'
2026-05-30 18:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 1, 753784, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16551, 'low': 1.16515, 'close': 1.16551, 'volume': 8.0} | asctime='2026-05-30 18:20:01'
2026-05-30 18:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 1, 754738, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16654, 'low': 1.16626, 'close': 1.16641, 'volume': 8.0} | asctime='2026-05-30 18:20:01'
2026-05-30 18:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 1, 755305, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16535, 'high': 1.16558, 'low': 1.16499, 'close': 1.16551, 'volume': 28.0} | asctime='2026-05-30 18:20:01'
2026-05-30 18:20:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 1, 755762, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16625, 'high': 1.16679, 'low': 1.16622, 'close': 1.16641, 'volume': 28.0} | asctime='2026-05-30 18:20:01'
2026-05-30 18:20:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 1, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 18:20:01'
2026-05-30 18:20:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 1, 832000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 18:20:01'
2026-05-30 18:20:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 3, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 18:20:03'
2026-05-30 18:20:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 33, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16688, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 18:20:33'
2026-05-30 18:20:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 40, 814000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16694, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 18:20:40'
2026-05-30 18:20:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 40, 937000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16707, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 18:20:40'
2026-05-30 18:20:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 41, 806000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 18:20:41'
2026-05-30 18:20:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 43, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 18:20:43'
2026-05-30 18:20:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 45, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 18:20:45'
2026-05-30 18:20:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 55, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 18:20:55'
2026-05-30 18:20:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 55, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 18:20:55'
2026-05-30 18:20:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 56, 206000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 18:20:56'
2026-05-30 18:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 57, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:20:57'
2026-05-30 18:20:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 20, 59, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:20:59'
2026-05-30 18:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 1, 202605, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16555, 'low': 1.16503, 'close': 1.16541, 'volume': 14.0} | asctime='2026-05-30 18:21:01'
2026-05-30 18:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 1, 203555, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16707, 'low': 1.16631, 'close': 1.16631, 'volume': 14.0} | asctime='2026-05-30 18:21:01'
2026-05-30 18:21:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 1, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:21:01'
2026-05-30 18:21:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 1, 295000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 18:21:01'
2026-05-30 18:21:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 3, 34000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 18:21:03'
2026-05-30 18:21:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 3, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:21:03'
2026-05-30 18:21:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 6, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 18:21:06'
2026-05-30 18:21:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 11, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 18:21:11'
2026-05-30 18:21:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 16, 938000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 18:21:16'
2026-05-30 18:21:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 19, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:21:19'
2026-05-30 18:21:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 21, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:21:21'
2026-05-30 18:21:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 28, 483000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 18:21:28'
2026-05-30 18:21:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 28, 855000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 18:21:28'
2026-05-30 18:21:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 29, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1661, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 18:21:29'
2026-05-30 18:21:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 29, 476000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:21:29'
2026-05-30 18:21:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 33, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 18:21:33'
2026-05-30 18:21:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 40, 897000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 18:21:40'
2026-05-30 18:21:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 21, 57, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:21:57'
2026-05-30 18:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 22, 0, 552302, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.1654, 'low': 1.16498, 'close': 1.16527, 'volume': 16.0} | asctime='2026-05-30 18:22:00'
2026-05-30 18:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 22, 0, 553333, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.1666, 'low': 1.16609, 'close': 1.16659, 'volume': 16.0} | asctime='2026-05-30 18:22:00'
2026-05-30 18:22:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 22, 0, 511000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 18:22:00'
2026-05-30 18:22:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 22, 1, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 18:22:01'
2026-05-30 18:22:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 22, 5, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 18:22:05'
2026-05-30 18:22:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 22, 17, 394000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 18:22:17'
2026-05-30 18:22:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 22, 19, 753000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 18:22:19'
2026-05-30 18:22:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 22, 21, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 18:22:21'
2026-05-30 18:22:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 22, 37, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 18:22:37'
2026-05-30 18:23:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 23, 34, 150889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16557, 'low': 1.16509, 'close': 1.16509, 'volume': 7.0} | asctime='2026-05-30 18:23:34'
2026-05-30 18:23:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 23, 34, 152691, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16665, 'low': 1.1663, 'close': 1.16665, 'volume': 7.0} | asctime='2026-05-30 18:23:34'
2026-05-30 18:23:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 23, 34, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:23:34'
2026-05-30 18:23:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 23, 35, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:23:35'
2026-05-30 18:23:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 23, 46, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 18:23:46'
2026-05-30 18:23:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 23, 55, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 18:23:55'
2026-05-30 18:24:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 24, 1, 100832, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16545, 'low': 1.16511, 'close': 1.16545, 'volume': 4.0} | asctime='2026-05-30 18:24:01'
2026-05-30 18:24:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 24, 1, 101672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16667, 'low': 1.16635, 'close': 1.16635, 'volume': 4.0} | asctime='2026-05-30 18:24:01'
2026-05-30 18:24:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 24, 1, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:24:01'
2026-05-30 18:24:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 24, 2, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:24:02'
2026-05-30 18:24:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 24, 22, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 18:24:22'
2026-05-30 18:24:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 24, 28, 362000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.1647, 'volume': 0.0} | asctime='2026-05-30 18:24:28'
2026-05-30 18:24:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 24, 55, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 18:24:55'
2026-05-30 18:24:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 24, 55, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 18:24:55'
2026-05-30 18:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 24, 57, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:24:57'
2026-05-30 18:25:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 5, 901020, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16541, 'low': 1.1647, 'close': 1.16541, 'volume': 7.0} | asctime='2026-05-30 18:25:05'
2026-05-30 18:25:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 5, 901979, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16674, 'low': 1.16629, 'close': 1.16631, 'volume': 7.0} | asctime='2026-05-30 18:25:05'
2026-05-30 18:25:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 5, 903999, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16543, 'high': 1.16557, 'low': 1.1647, 'close': 1.16541, 'volume': 48.0} | asctime='2026-05-30 18:25:05'
2026-05-30 18:25:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 5, 905365, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16633, 'high': 1.16707, 'low': 1.16609, 'close': 1.16631, 'volume': 48.0} | asctime='2026-05-30 18:25:05'
2026-05-30 18:25:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 5, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 18:25:05'
2026-05-30 18:25:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 9, 204000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 18:25:09'
2026-05-30 18:25:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 10, 445000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 18:25:10'
2026-05-30 18:25:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 11, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 18:25:11'
2026-05-30 18:25:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 12, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:25:12'
2026-05-30 18:25:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 13, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 18:25:13'
2026-05-30 18:25:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 15, 535000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 18:25:15'
2026-05-30 18:25:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 15, 783000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 18:25:15'
2026-05-30 18:25:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 16, 776000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1661, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 18:25:16'
2026-05-30 18:25:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 17, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:25:17'
2026-05-30 18:25:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 20, 377000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 18:25:20'
2026-05-30 18:25:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 24, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 18:25:24'
2026-05-30 18:25:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 32, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 18:25:32'
2026-05-30 18:25:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 25, 33, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 18:25:33'
2026-05-30 18:27:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 26, 148657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16499, 'high': 1.16544, 'low': 1.16495, 'close': 1.16538, 'volume': 14.0} | asctime='2026-05-30 18:27:26'
2026-05-30 18:27:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 26, 149726, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16666, 'low': 1.1661, 'close': 1.16628, 'volume': 14.0} | asctime='2026-05-30 18:27:26'
2026-05-30 18:27:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 26, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 18:27:26'
2026-05-30 18:27:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 26, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 18:27:27'
2026-05-30 18:27:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 28, 737000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 18:27:28'
2026-05-30 18:27:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 29, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 18:27:29'
2026-05-30 18:27:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 29, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 18:27:29'
2026-05-30 18:27:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 29, 979000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:27:29'
2026-05-30 18:27:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 31, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16608, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 18:27:31'
2026-05-30 18:27:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 40, 902000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 18:27:40'
2026-05-30 18:27:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 41, 399000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 18:27:41'
2026-05-30 18:27:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 27, 43, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:27:43'
2026-05-30 18:28:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 28, 16, 947811, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16492, 'close': 1.16529, 'volume': 10.0} | asctime='2026-05-30 18:28:16'
2026-05-30 18:28:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 28, 16, 948707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16659, 'low': 1.16608, 'close': 1.16619, 'volume': 10.0} | asctime='2026-05-30 18:28:16'
2026-05-30 18:28:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 28, 16, 905000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 18:28:16'
2026-05-30 18:28:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 28, 23, 979000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 18:28:24'
2026-05-30 18:28:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 28, 25, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 18:28:25'
2026-05-30 18:29:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 29, 12, 797414, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16495, 'high': 1.16526, 'low': 1.16495, 'close': 1.16526, 'volume': 3.0} | asctime='2026-05-30 18:29:12'
2026-05-30 18:29:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 29, 12, 798639, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16659, 'low': 1.16651, 'close': 1.16658, 'volume': 3.0} | asctime='2026-05-30 18:29:12'
2026-05-30 18:29:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 29, 12, 766000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 18:29:12'
2026-05-30 18:29:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 29, 13, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 18:29:13'
2026-05-30 18:29:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 29, 14, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:29:14'
2026-05-30 18:29:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 29, 54, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 18:29:54'
2026-05-30 18:29:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 29, 55, 221000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 18:29:55'
2026-05-30 18:29:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 29, 56, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 18:29:56'
2026-05-30 18:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 2, 97341, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16503, 'high': 1.1655, 'low': 1.16503, 'close': 1.16524, 'volume': 6.0} | asctime='2026-05-30 18:30:02'
2026-05-30 18:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 2, 98294, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16659, 'low': 1.16631, 'close': 1.16656, 'volume': 6.0} | asctime='2026-05-30 18:30:02'
2026-05-30 18:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 2, 99589, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16499, 'high': 1.1655, 'low': 1.16492, 'close': 1.16524, 'volume': 33.0} | asctime='2026-05-30 18:30:02'
2026-05-30 18:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 2, 100295, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16655, 'high': 1.16666, 'low': 1.16608, 'close': 1.16656, 'volume': 33.0} | asctime='2026-05-30 18:30:02'
2026-05-30 18:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 2, 100903, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16535, 'high': 1.16558, 'low': 1.1647, 'close': 1.16524, 'volume': 109.0} | asctime='2026-05-30 18:30:02'
2026-05-30 18:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 2, 101486, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16625, 'high': 1.16707, 'low': 1.16608, 'close': 1.16656, 'volume': 109.0} | asctime='2026-05-30 18:30:02'
2026-05-30 18:30:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 2, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 18:30:02'
2026-05-30 18:30:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 15, 828000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 18:30:15'
2026-05-30 18:30:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 26, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 18:30:26'
2026-05-30 18:30:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 48, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:30:48'
2026-05-30 18:30:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 50, 837000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:30:50'
2026-05-30 18:30:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 30, 56, 298000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:30:56'
2026-05-30 18:31:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 31, 2, 146347, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16554, 'high': 1.16554, 'low': 1.16506, 'close': 1.16506, 'volume': 6.0} | asctime='2026-05-30 18:31:02'
2026-05-30 18:31:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 31, 2, 147394, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16644, 'high': 1.16667, 'low': 1.16629, 'close': 1.16662, 'volume': 6.0} | asctime='2026-05-30 18:31:02'
2026-05-30 18:31:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 31, 2, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:31:02'
2026-05-30 18:31:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 31, 50, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 18:31:50'
2026-05-30 18:31:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 31, 58, 989000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 18:31:58'
2026-05-30 18:32:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 32, 1, 995777, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16519, 'low': 1.16515, 'close': 1.16516, 'volume': 3.0} | asctime='2026-05-30 18:32:01'
2026-05-30 18:32:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 32, 1, 996684, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16651, 'low': 1.16647, 'close': 1.16648, 'volume': 3.0} | asctime='2026-05-30 18:32:01'
2026-05-30 18:32:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 32, 1, 968000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:32:01'
2026-05-30 18:32:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 32, 3, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 18:32:03'
2026-05-30 18:32:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 32, 4, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 18:32:04'
2026-05-30 18:32:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 32, 5, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:32:05'
2026-05-30 18:32:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 32, 5, 816000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 18:32:05'
2026-05-30 18:32:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 32, 6, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16715, 'bid_price': 1.16487, 'volume': 0.0} | asctime='2026-05-30 18:32:06'
2026-05-30 18:32:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 32, 8, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16711, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:32:08'
2026-05-30 18:33:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 33, 22, 196951, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16539, 'low': 1.16487, 'close': 1.16507, 'volume': 7.0} | asctime='2026-05-30 18:33:22'
2026-05-30 18:33:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 33, 22, 198144, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16715, 'low': 1.1666, 'close': 1.16711, 'volume': 7.0} | asctime='2026-05-30 18:33:22'
2026-05-30 18:33:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 33, 22, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16705, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 18:33:22'
2026-05-30 18:34:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 34, 35, 44477, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16525, 'low': 1.16525, 'close': 1.16525, 'volume': 1.0} | asctime='2026-05-30 18:34:35'
2026-05-30 18:34:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 34, 35, 45494, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16705, 'high': 1.16705, 'low': 1.16705, 'close': 1.16705, 'volume': 1.0} | asctime='2026-05-30 18:34:35'
2026-05-30 18:34:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 34, 35, 34000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16711, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:34:35'
2026-05-30 18:34:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 34, 38, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 18:34:38'
2026-05-30 18:34:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 34, 40, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:34:40'
2026-05-30 18:37:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 1, 892736, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16539, 'low': 1.16507, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 18:37:01'
2026-05-30 18:37:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 1, 893545, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16711, 'high': 1.16711, 'low': 1.16629, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 18:37:01'
2026-05-30 18:37:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 1, 894800, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16554, 'high': 1.16554, 'low': 1.16487, 'close': 1.16539, 'volume': 20.0} | asctime='2026-05-30 18:37:01'
2026-05-30 18:37:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 1, 895787, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16644, 'high': 1.16715, 'low': 1.16629, 'close': 1.16629, 'volume': 20.0} | asctime='2026-05-30 18:37:01'
2026-05-30 18:37:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 1, 893000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 18:37:01'
2026-05-30 18:37:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 2, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 18:37:02'
2026-05-30 18:37:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 3, 8000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 18:37:03'
2026-05-30 18:37:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 4, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 18:37:04'
2026-05-30 18:37:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 6, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 18:37:06'
2026-05-30 18:37:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 6, 236000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 18:37:06'
2026-05-30 18:37:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 8, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:37:08'
2026-05-30 18:37:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 10, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:37:10'
2026-05-30 18:37:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 39, 383000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:37:39'
2026-05-30 18:37:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 40, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 18:37:40'
2026-05-30 18:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 41, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:37:41'
2026-05-30 18:37:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 44, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 18:37:44'
2026-05-30 18:37:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 50, 555000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 18:37:50'
2026-05-30 18:37:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 37, 52, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:37:52'
2026-05-30 18:38:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 38, 15, 641845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16554, 'low': 1.16497, 'close': 1.16536, 'volume': 14.0} | asctime='2026-05-30 18:38:15'
2026-05-30 18:38:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 38, 15, 642780, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16662, 'low': 1.16614, 'close': 1.16626, 'volume': 14.0} | asctime='2026-05-30 18:38:15'
2026-05-30 18:38:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 38, 15, 631000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:38:15'
2026-05-30 18:38:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 38, 24, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 18:38:24'
2026-05-30 18:38:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 38, 24, 569000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 18:38:24'
2026-05-30 18:38:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 38, 50, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 18:38:50'
2026-05-30 18:38:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 38, 50, 390000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:38:50'
2026-05-30 18:38:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 38, 54, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 18:38:54'
2026-05-30 18:39:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 39, 38, 90753, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16559, 'low': 1.1651, 'close': 1.16531, 'volume': 6.0} | asctime='2026-05-30 18:39:38'
2026-05-30 18:39:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 39, 38, 91795, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16667, 'low': 1.16648, 'close': 1.16663, 'volume': 6.0} | asctime='2026-05-30 18:39:38'
2026-05-30 18:39:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 39, 38, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 18:39:38'
2026-05-30 18:39:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 39, 40, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 18:39:40'
2026-05-30 18:39:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 39, 54, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:39:54'
2026-05-30 18:39:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 39, 54, 322000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16486, 'volume': 0.0} | asctime='2026-05-30 18:39:54'
2026-05-30 18:39:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 39, 56, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 18:39:56'
2026-05-30 18:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 3, 41107, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16537, 'low': 1.16486, 'close': 1.16523, 'volume': 5.0} | asctime='2026-05-30 18:40:03'
2026-05-30 18:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 3, 41834, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.1669, 'low': 1.16624, 'close': 1.16679, 'volume': 5.0} | asctime='2026-05-30 18:40:03'
2026-05-30 18:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 3, 42461, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16498, 'high': 1.16559, 'low': 1.16486, 'close': 1.16523, 'volume': 25.0} | asctime='2026-05-30 18:40:03'
2026-05-30 18:40:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 3, 42898, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16654, 'high': 1.1669, 'low': 1.16614, 'close': 1.16679, 'volume': 25.0} | asctime='2026-05-30 18:40:03'
2026-05-30 18:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 3, 12000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:40:03'
2026-05-30 18:40:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 4, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 18:40:04'
2026-05-30 18:40:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 6, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:40:06'
2026-05-30 18:40:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 12, 571000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 18:40:12'
2026-05-30 18:40:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 14, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:40:14'
2026-05-30 18:40:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 27, 219000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:40:27'
2026-05-30 18:40:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 50, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 18:40:50'
2026-05-30 18:40:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 40, 52, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 18:40:52'
2026-05-30 18:41:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 41, 39, 739605, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16548, 'low': 1.16511, 'close': 1.16526, 'volume': 8.0} | asctime='2026-05-30 18:41:39'
2026-05-30 18:41:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 41, 39, 740361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16685, 'high': 1.16685, 'low': 1.16616, 'close': 1.16616, 'volume': 8.0} | asctime='2026-05-30 18:41:39'
2026-05-30 18:41:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 41, 39, 718000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 18:41:39'
2026-05-30 18:41:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 41, 46, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 18:41:46'
2026-05-30 18:41:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 41, 50, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 18:41:50'
2026-05-30 18:41:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 41, 52, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:41:52'
2026-05-30 18:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 41, 57, 718000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:41:57'
2026-05-30 18:41:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 41, 57, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:41:57'
2026-05-30 18:42:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 42, 2, 89971, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.16519, 'low': 1.16497, 'close': 1.16506, 'volume': 6.0} | asctime='2026-05-30 18:42:02'
2026-05-30 18:42:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 42, 2, 90655, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16662, 'low': 1.16643, 'close': 1.16662, 'volume': 6.0} | asctime='2026-05-30 18:42:02'
2026-05-30 18:42:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 42, 2, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:42:02'
2026-05-30 18:42:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 42, 27, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:42:27'
2026-05-30 18:42:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 42, 30, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 18:42:30'
2026-05-30 18:44:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 9, 88649, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16541, 'low': 1.1653, 'close': 1.1653, 'volume': 3.0} | asctime='2026-05-30 18:44:09'
2026-05-30 18:44:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 9, 89833, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16631, 'low': 1.1662, 'close': 1.1662, 'volume': 3.0} | asctime='2026-05-30 18:44:09'
2026-05-30 18:44:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 9, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:44:09'
2026-05-30 18:44:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 10, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 18:44:10'
2026-05-30 18:44:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 22, 341000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:44:22'
2026-05-30 18:44:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 22, 465000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:44:22'
2026-05-30 18:44:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 24, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 18:44:24'
2026-05-30 18:44:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 32, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:44:32'
2026-05-30 18:44:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 35, 3000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:44:35'
2026-05-30 18:44:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 35, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:44:35'
2026-05-30 18:44:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 37, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 18:44:37'
2026-05-30 18:44:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 42, 948000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 18:44:42'
2026-05-30 18:44:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 43, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 18:44:43'
2026-05-30 18:44:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 43, 445000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:44:43'
2026-05-30 18:44:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 45, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 18:44:45'
2026-05-30 18:44:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 44, 47, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 18:44:47'
2026-05-30 18:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 2, 87860, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16551, 'low': 1.16512, 'close': 1.16551, 'volume': 14.0} | asctime='2026-05-30 18:45:02'
2026-05-30 18:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 2, 88874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16679, 'low': 1.16626, 'close': 1.16641, 'volume': 14.0} | asctime='2026-05-30 18:45:02'
2026-05-30 18:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 2, 90567, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16529, 'high': 1.16551, 'low': 1.16497, 'close': 1.16551, 'volume': 31.0} | asctime='2026-05-30 18:45:02'
2026-05-30 18:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 2, 91967, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16685, 'high': 1.16685, 'low': 1.16616, 'close': 1.16641, 'volume': 31.0} | asctime='2026-05-30 18:45:02'
2026-05-30 18:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 2, 93479, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16554, 'high': 1.16559, 'low': 1.16486, 'close': 1.16551, 'volume': 76.0} | asctime='2026-05-30 18:45:02'
2026-05-30 18:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 2, 94040, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16644, 'high': 1.16715, 'low': 1.16614, 'close': 1.16641, 'volume': 76.0} | asctime='2026-05-30 18:45:02'
2026-05-30 18:45:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 2, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 18:45:02'
2026-05-30 18:45:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 4, 549000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:45:04'
2026-05-30 18:45:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 4, 797000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:45:04'
2026-05-30 18:45:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 5, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:45:05'
2026-05-30 18:45:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 5, 542000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 18:45:05'
2026-05-30 18:45:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 10, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 18:45:10'
2026-05-30 18:45:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 12, 246000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 18:45:12'
2026-05-30 18:45:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 13, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 18:45:13'
2026-05-30 18:45:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 13, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 18:45:13'
2026-05-30 18:45:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 15, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 18:45:15'
2026-05-30 18:45:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 16, 963000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:45:16'
2026-05-30 18:45:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 19, 570000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:45:19'
2026-05-30 18:45:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 20, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 18:45:20'
2026-05-30 18:45:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 25, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 18:45:25'
2026-05-30 18:45:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 33, 349000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:45:33'
2026-05-30 18:45:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 33, 473000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 18:45:33'
2026-05-30 18:45:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 35, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 18:45:35'
2026-05-30 18:45:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 36, 949000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16487, 'volume': 0.0} | asctime='2026-05-30 18:45:36'
2026-05-30 18:45:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 38, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:45:38'
2026-05-30 18:45:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 39, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 18:45:39'
2026-05-30 18:45:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 39, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 18:45:39'
2026-05-30 18:45:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 40, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 18:45:40'
2026-05-30 18:45:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 42, 660000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 18:45:42'
2026-05-30 18:45:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 44, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 18:45:44'
2026-05-30 18:45:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 45, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 18:45:45'
2026-05-30 18:45:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 45, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 18:45:45'
2026-05-30 18:45:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 46, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 18:45:46'
2026-05-30 18:45:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 45, 51, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 18:45:51'
2026-05-30 18:46:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 46, 2, 36971, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16552, 'low': 1.16487, 'close': 1.16505, 'volume': 28.0} | asctime='2026-05-30 18:46:02'
2026-05-30 18:46:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 46, 2, 37768, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.1667, 'low': 1.16626, 'close': 1.16661, 'volume': 28.0} | asctime='2026-05-30 18:46:02'
2026-05-30 18:46:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 46, 2, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 18:46:02'
2026-05-30 18:46:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 46, 3, 19000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 18:46:03'
2026-05-30 18:46:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 46, 12, 207000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 18:46:12'
2026-05-30 18:46:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 46, 12, 453000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 18:46:12'
2026-05-30 18:46:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 46, 14, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:46:14'
2026-05-30 18:46:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 46, 14, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:46:14'
2026-05-30 18:46:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 46, 32, 567000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 18:46:32'
2026-05-30 18:47:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 4, 136789, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16499, 'high': 1.16539, 'low': 1.16499, 'close': 1.16533, 'volume': 7.0} | asctime='2026-05-30 18:47:04'
2026-05-30 18:47:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 4, 137768, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16658, 'low': 1.16623, 'close': 1.16623, 'volume': 7.0} | asctime='2026-05-30 18:47:04'
2026-05-30 18:47:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 4, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 18:47:04'
2026-05-30 18:47:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 6, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 18:47:06'
2026-05-30 18:47:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 11, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16475, 'volume': 0.0} | asctime='2026-05-30 18:47:11'
2026-05-30 18:47:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 14, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:47:14'
2026-05-30 18:47:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 14, 401000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:47:14'
2026-05-30 18:47:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 15, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 18:47:15'
2026-05-30 18:47:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 15, 395000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 18:47:15'
2026-05-30 18:47:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 55, 244000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 18:47:55'
2026-05-30 18:47:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 56, 982000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 18:47:56'
2026-05-30 18:47:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 47, 58, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:47:58'
2026-05-30 18:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 4, 86244, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16542, 'low': 1.16475, 'close': 1.16529, 'volume': 10.0} | asctime='2026-05-30 18:48:04'
2026-05-30 18:48:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 4, 87132, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16621, 'high': 1.16679, 'low': 1.16617, 'close': 1.16661, 'volume': 10.0} | asctime='2026-05-30 18:48:04'
2026-05-30 18:48:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 4, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 18:48:04'
2026-05-30 18:48:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 4, 678000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 18:48:04'
2026-05-30 18:48:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 4, 932000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:48:04'
2026-05-30 18:48:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 6, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 18:48:06'
2026-05-30 18:48:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 14, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:48:14'
2026-05-30 18:48:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 16, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 18:48:16'
2026-05-30 18:48:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 18, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 18:48:18'
2026-05-30 18:48:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 50, 487000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 18:48:50'
2026-05-30 18:48:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 51, 852000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 18:48:51'
2026-05-30 18:48:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 52, 348000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 18:48:52'
2026-05-30 18:48:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 48, 53, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 18:48:53'
2026-05-30 18:49:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 49, 1, 935916, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16563, 'high': 1.16563, 'low': 1.16515, 'close': 1.16524, 'volume': 11.0} | asctime='2026-05-30 18:49:01'
2026-05-30 18:49:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 49, 1, 936941, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16675, 'low': 1.16628, 'close': 1.16656, 'volume': 11.0} | asctime='2026-05-30 18:49:01'
2026-05-30 18:49:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 49, 1, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 18:49:01'
2026-05-30 18:49:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 49, 3, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 18:49:03'
2026-05-30 18:49:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 49, 7, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 18:49:07'
2026-05-30 18:49:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 49, 17, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:49:17'
2026-05-30 18:49:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 49, 34, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 18:49:34'
2026-05-30 18:49:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 49, 42, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 18:49:42'
2026-05-30 18:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 50, 1, 985585, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16554, 'high': 1.16554, 'low': 1.16502, 'close': 1.16509, 'volume': 6.0} | asctime='2026-05-30 18:50:01'
2026-05-30 18:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 50, 1, 986497, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16644, 'high': 1.16658, 'low': 1.16629, 'close': 1.16641, 'volume': 6.0} | asctime='2026-05-30 18:50:01'
2026-05-30 18:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 50, 1, 987828, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16513, 'high': 1.16563, 'low': 1.16475, 'close': 1.16509, 'volume': 62.0} | asctime='2026-05-30 18:50:01'
2026-05-30 18:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 50, 1, 988845, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16669, 'high': 1.16679, 'low': 1.16617, 'close': 1.16641, 'volume': 62.0} | asctime='2026-05-30 18:50:01'
2026-05-30 18:50:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 50, 1, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 18:50:01'
2026-05-30 18:50:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 50, 3, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16486, 'volume': 0.0} | asctime='2026-05-30 18:50:03'
2026-05-30 18:50:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 50, 5, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16485, 'volume': 0.0} | asctime='2026-05-30 18:50:05'
2026-05-30 18:51:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 51, 21, 334227, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16496, 'high': 1.16496, 'low': 1.16485, 'close': 1.16485, 'volume': 3.0} | asctime='2026-05-30 18:51:21'
2026-05-30 18:51:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 51, 21, 336950, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16652, 'low': 1.16617, 'close': 1.16617, 'volume': 3.0} | asctime='2026-05-30 18:51:21'
2026-05-30 18:51:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 51, 21, 324000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16475, 'volume': 0.0} | asctime='2026-05-30 18:51:21'
2026-05-30 18:51:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 51, 21, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16472, 'volume': 0.0} | asctime='2026-05-30 18:51:21'
2026-05-30 18:51:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 51, 22, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 18:51:22'
2026-05-30 18:51:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 51, 23, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 18:51:23'
2026-05-30 18:51:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 51, 25, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 18:51:25'
2026-05-30 18:53:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 53, 51, 32668, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16475, 'high': 1.16533, 'low': 1.16472, 'close': 1.16533, 'volume': 5.0} | asctime='2026-05-30 18:53:51'
2026-05-30 18:53:51 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 53, 51, 33468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16657, 'low': 1.16623, 'close': 1.16623, 'volume': 5.0} | asctime='2026-05-30 18:53:51'
2026-05-30 18:53:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 53, 51, 29000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 18:53:51'
2026-05-30 18:53:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 53, 55, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:53:55'
2026-05-30 18:54:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 54, 12, 632128, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16539, 'low': 1.16537, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 18:54:12'
2026-05-30 18:54:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 54, 12, 633575, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16629, 'low': 1.16627, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 18:54:12'
2026-05-30 18:54:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 54, 12, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 18:54:12'
2026-05-30 18:54:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 54, 13, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 18:54:13'
2026-05-30 18:54:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 54, 38, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 18:54:38'
2026-05-30 18:54:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 54, 45, 898000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 18:54:45'
2026-05-30 18:54:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 54, 46, 891000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:54:46'
2026-05-30 18:54:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 54, 48, 381000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 18:54:48'
2026-05-30 18:54:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 54, 53, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 18:54:53'
2026-05-30 18:55:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 3, 31402, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16548, 'low': 1.16511, 'close': 1.16547, 'volume': 7.0} | asctime='2026-05-30 18:55:03'
2026-05-30 18:55:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 3, 32244, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16653, 'low': 1.16633, 'close': 1.16637, 'volume': 7.0} | asctime='2026-05-30 18:55:03'
2026-05-30 18:55:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 3, 33724, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16496, 'high': 1.16548, 'low': 1.16472, 'close': 1.16547, 'volume': 17.0} | asctime='2026-05-30 18:55:03'
2026-05-30 18:55:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 3, 36830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16652, 'high': 1.16657, 'low': 1.16617, 'close': 1.16637, 'volume': 17.0} | asctime='2026-05-30 18:55:03'
2026-05-30 18:55:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 3, 29000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 18:55:03'
2026-05-30 18:55:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 19, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:55:19'
2026-05-30 18:55:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 24, 629000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:55:24'
2026-05-30 18:55:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 25, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 18:55:25'
2026-05-30 18:55:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 46, 726000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 18:55:46'
2026-05-30 18:55:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 46, 850000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 18:55:46'
2026-05-30 18:55:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 46, 975000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 18:55:46'
2026-05-30 18:55:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 49, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 18:55:49'
2026-05-30 18:55:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 50, 947000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:55:50'
2026-05-30 18:55:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 51, 195000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 18:55:51'
2026-05-30 18:55:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 51, 443000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:55:51'
2026-05-30 18:55:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 55, 55, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 18:55:55'
2026-05-30 18:56:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 56, 47, 831339, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16541, 'low': 1.16495, 'close': 1.16541, 'volume': 12.0} | asctime='2026-05-30 18:56:47'
2026-05-30 18:56:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 56, 47, 832446, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16666, 'low': 1.16621, 'close': 1.16631, 'volume': 12.0} | asctime='2026-05-30 18:56:47'
2026-05-30 18:56:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 56, 47, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 18:56:47'
2026-05-30 18:56:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 56, 49, 913000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 18:56:49'
2026-05-30 18:56:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 56, 51, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 18:56:51'
2026-05-30 18:56:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 56, 59, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 18:56:59'
2026-05-30 18:57:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 2, 980299, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16548, 'high': 1.16552, 'low': 1.16522, 'close': 1.16552, 'volume': 4.0} | asctime='2026-05-30 18:57:02'
2026-05-30 18:57:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 2, 982227, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.16662, 'low': 1.16638, 'close': 1.16642, 'volume': 4.0} | asctime='2026-05-30 18:57:02'
2026-05-30 18:57:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 2, 948000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 18:57:02'
2026-05-30 18:57:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 6, 673000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 18:57:06'
2026-05-30 18:57:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 9, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:57:09'
2026-05-30 18:57:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 17, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 18:57:17'
2026-05-30 18:57:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 57, 198000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 18:57:57'
2026-05-30 18:57:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 58, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 18:57:58'
2026-05-30 18:57:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 58, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 18:57:58'
2026-05-30 18:57:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 57, 59, 680000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 18:57:59'
2026-05-30 18:58:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 0, 80483, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16559, 'low': 1.16528, 'close': 1.16529, 'volume': 8.0} | asctime='2026-05-30 18:58:00'
2026-05-30 18:58:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 0, 84581, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16664, 'low': 1.16628, 'close': 1.16661, 'volume': 8.0} | asctime='2026-05-30 18:58:00'
2026-05-30 18:58:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 0, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 18:58:00'
2026-05-30 18:58:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 1, 667000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 18:58:01'
2026-05-30 18:58:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 4, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 18:58:04'
2026-05-30 18:58:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 17, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16687, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 18:58:17'
2026-05-30 18:58:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 18, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 18:58:18'
2026-05-30 18:58:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 28, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 18:58:28'
2026-05-30 18:58:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 30, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 18:58:30'
2026-05-30 18:58:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 35, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 18:58:35'
2026-05-30 18:58:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 35, 556000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16472, 'volume': 0.0} | asctime='2026-05-30 18:58:35'
2026-05-30 18:58:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 36, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 18:58:36'
2026-05-30 18:58:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 38, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 18:58:38'
2026-05-30 18:58:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 40, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 18:58:40'
2026-05-30 18:58:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 42, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 18:58:42'
2026-05-30 18:58:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 42, 882000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 18:58:42'
2026-05-30 18:58:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 58, 52, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 18:58:52'
2026-05-30 18:59:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 59, 2, 129044, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16532, 'low': 1.16472, 'close': 1.16504, 'volume': 15.0} | asctime='2026-05-30 18:59:02'
2026-05-30 18:59:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 59, 2, 130009, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.16687, 'low': 1.16615, 'close': 1.1666, 'volume': 15.0} | asctime='2026-05-30 18:59:02'
2026-05-30 18:59:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 59, 2, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 18:59:02'
2026-05-30 18:59:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 18, 59, 26, 579000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 18:59:26'
2026-05-30 19:00:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 0, 32, 630559, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16522, 'high': 1.16522, 'low': 1.16515, 'close': 1.16515, 'volume': 2.0} | asctime='2026-05-30 19:00:32'
2026-05-30 19:00:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 0, 32, 631309, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16647, 'close': 1.16647, 'volume': 2.0} | asctime='2026-05-30 19:00:32'
2026-05-30 19:00:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 0, 32, 632578, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1651, 'high': 1.16559, 'low': 1.16472, 'close': 1.16515, 'volume': 41.0} | asctime='2026-05-30 19:00:32'
2026-05-30 19:00:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 0, 32, 633483, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16666, 'high': 1.16687, 'low': 1.16615, 'close': 1.16647, 'volume': 41.0} | asctime='2026-05-30 19:00:32'
2026-05-30 19:00:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 0, 32, 634363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16513, 'high': 1.16563, 'low': 1.16472, 'close': 1.16515, 'volume': 120.0} | asctime='2026-05-30 19:00:32'
2026-05-30 19:00:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 0, 32, 635153, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16669, 'high': 1.16687, 'low': 1.16615, 'close': 1.16647, 'volume': 120.0} | asctime='2026-05-30 19:00:32'
2026-05-30 19:00:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 0, 32, 621000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 19:00:32'
2026-05-30 19:00:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 0, 34, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 19:00:34'
2026-05-30 19:01:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 1, 5, 781564, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16521, 'high': 1.16535, 'low': 1.16521, 'close': 1.16535, 'volume': 2.0} | asctime='2026-05-30 19:01:05'
2026-05-30 19:01:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 1, 5, 782987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16653, 'low': 1.16625, 'close': 1.16625, 'volume': 2.0} | asctime='2026-05-30 19:01:05'
2026-05-30 19:01:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 1, 5, 767000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 19:01:05'
2026-05-30 19:01:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 1, 8, 871000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 19:01:08'
2026-05-30 19:01:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 1, 20, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:01:20'
2026-05-30 19:01:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 1, 24, 512000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 19:01:24'
2026-05-30 19:01:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 1, 26, 499000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 19:01:26'
2026-05-30 19:01:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 1, 28, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 19:01:28'
2026-05-30 19:01:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 1, 30, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 19:01:30'
2026-05-30 19:02:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 6, 477679, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16543, 'low': 1.1649, 'close': 1.16543, 'volume': 7.0} | asctime='2026-05-30 19:02:06'
2026-05-30 19:02:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 6, 478542, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16656, 'low': 1.16617, 'close': 1.16633, 'volume': 7.0} | asctime='2026-05-30 19:02:06'
2026-05-30 19:02:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 6, 471000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 19:02:06'
2026-05-30 19:02:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 14, 540000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 19:02:14'
2026-05-30 19:02:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 16, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 19:02:16'
2026-05-30 19:02:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 18, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 19:02:18'
2026-05-30 19:02:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 30, 182000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:02:30'
2026-05-30 19:02:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 31, 795000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 19:02:31'
2026-05-30 19:02:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 32, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 19:02:32'
2026-05-30 19:02:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 2, 34, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 19:02:34'
2026-05-30 19:03:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 3, 38, 577209, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.1656, 'low': 1.16525, 'close': 1.16542, 'volume': 8.0} | asctime='2026-05-30 19:03:38'
2026-05-30 19:03:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 3, 38, 578416, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16668, 'low': 1.16632, 'close': 1.16632, 'volume': 8.0} | asctime='2026-05-30 19:03:38'
2026-05-30 19:03:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 3, 38, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 19:03:38'
2026-05-30 19:04:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 4, 1, 428361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16531, 'low': 1.16531, 'close': 1.16531, 'volume': 1.0} | asctime='2026-05-30 19:04:01'
2026-05-30 19:04:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 4, 1, 429207, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16663, 'low': 1.16663, 'close': 1.16663, 'volume': 1.0} | asctime='2026-05-30 19:04:01'
2026-05-30 19:04:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 4, 1, 426000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 19:04:01'
2026-05-30 19:04:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 4, 3, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 19:04:03'
2026-05-30 19:04:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 4, 50, 585000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 19:04:50'
2026-05-30 19:04:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 4, 51, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 19:04:51'
2026-05-30 19:04:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 4, 53, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 19:04:53'
2026-05-30 19:04:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 4, 59, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 19:04:59'
2026-05-30 19:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 1, 126109, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16519, 'low': 1.16508, 'close': 1.16519, 'volume': 6.0} | asctime='2026-05-30 19:05:01'
2026-05-30 19:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 1, 126943, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16671, 'low': 1.1664, 'close': 1.16651, 'volume': 6.0} | asctime='2026-05-30 19:05:01'
2026-05-30 19:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 1, 127433, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16521, 'high': 1.1656, 'low': 1.1649, 'close': 1.16519, 'volume': 24.0} | asctime='2026-05-30 19:05:01'
2026-05-30 19:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 1, 127897, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16653, 'high': 1.16671, 'low': 1.16617, 'close': 1.16651, 'volume': 24.0} | asctime='2026-05-30 19:05:01'
2026-05-30 19:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 1, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 19:05:01'
2026-05-30 19:05:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 2, 501000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 19:05:02'
2026-05-30 19:05:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 3, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 19:05:03'
2026-05-30 19:05:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 3, 881000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 19:05:03'
2026-05-30 19:05:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 3, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 19:05:03'
2026-05-30 19:05:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 7, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 19:05:07'
2026-05-30 19:05:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 35, 647000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 19:05:35'
2026-05-30 19:05:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 37, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 19:05:37'
2026-05-30 19:05:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 39, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 19:05:39'
2026-05-30 19:05:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 41, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 19:05:41'
2026-05-30 19:05:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 55, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 19:05:55'
2026-05-30 19:05:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 56, 254000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 19:05:56'
2026-05-30 19:05:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 5, 57, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 19:05:57'
2026-05-30 19:06:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 6, 26, 563719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16552, 'high': 1.16552, 'low': 1.16495, 'close': 1.16528, 'volume': 13.0} | asctime='2026-05-30 19:06:26'
2026-05-30 19:06:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 6, 26, 565393, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16675, 'low': 1.16631, 'close': 1.1666, 'volume': 13.0} | asctime='2026-05-30 19:06:26'
2026-05-30 19:06:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 6, 26, 544000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 19:06:26'
2026-05-30 19:06:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 6, 40, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 19:06:40'
2026-05-30 19:06:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 6, 51, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 19:06:51'
2026-05-30 19:06:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 6, 52, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:06:52'
2026-05-30 19:07:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 6, 374555, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16551, 'low': 1.16496, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 19:07:06'
2026-05-30 19:07:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 6, 375718, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16664, 'low': 1.16629, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 19:07:06'
2026-05-30 19:07:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 6, 393000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 19:07:06'
2026-05-30 19:07:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 8, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 19:07:08'
2026-05-30 19:07:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 10, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:07:10'
2026-05-30 19:07:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 15, 456000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 19:07:15'
2026-05-30 19:07:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 16, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 19:07:16'
2026-05-30 19:07:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 48, 229000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:07:48'
2026-05-30 19:07:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 48, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 19:07:48'
2026-05-30 19:07:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 7, 58, 781000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 19:07:58'
2026-05-30 19:08:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 8, 0, 123660, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.1654, 'low': 1.16502, 'close': 1.16506, 'volume': 8.0} | asctime='2026-05-30 19:08:00'
2026-05-30 19:08:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 8, 0, 124344, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16663, 'low': 1.1663, 'close': 1.16662, 'volume': 8.0} | asctime='2026-05-30 19:08:00'
2026-05-30 19:08:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 8, 0, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 19:08:00'
2026-05-30 19:08:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 8, 2, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:08:02'
2026-05-30 19:10:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 8, 122642, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16539, 'low': 1.16535, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 19:10:08'
2026-05-30 19:10:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 8, 123604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16629, 'low': 1.16625, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 19:10:08'
2026-05-30 19:10:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 8, 124379, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16552, 'high': 1.16552, 'low': 1.16495, 'close': 1.16539, 'volume': 27.0} | asctime='2026-05-30 19:10:08'
2026-05-30 19:10:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 8, 125986, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16642, 'high': 1.16675, 'low': 1.16625, 'close': 1.16629, 'volume': 27.0} | asctime='2026-05-30 19:10:08'
2026-05-30 19:10:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 8, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 19:10:08'
2026-05-30 19:10:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 18, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 19:10:18'
2026-05-30 19:10:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 20, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 19:10:20'
2026-05-30 19:10:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 28, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 19:10:28'
2026-05-30 19:10:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 30, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 19:10:30'
2026-05-30 19:10:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 10, 35, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:10:35'
2026-05-30 19:12:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 12, 32, 120774, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16503, 'high': 1.16543, 'low': 1.16503, 'close': 1.16527, 'volume': 6.0} | asctime='2026-05-30 19:12:32'
2026-05-30 19:12:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 12, 32, 121944, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16662, 'low': 1.1663, 'close': 1.16659, 'volume': 6.0} | asctime='2026-05-30 19:12:32'
2026-05-30 19:12:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 12, 32, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 19:12:32'
2026-05-30 19:12:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 12, 48, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 19:12:48'
2026-05-30 19:13:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 0, 71004, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16555, 'high': 1.16555, 'low': 1.16528, 'close': 1.16528, 'volume': 2.0} | asctime='2026-05-30 19:13:00'
2026-05-30 19:13:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 0, 71738, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.1666, 'low': 1.16645, 'close': 1.1666, 'volume': 2.0} | asctime='2026-05-30 19:13:00'
2026-05-30 19:13:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 0, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:13:00'
2026-05-30 19:13:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 2, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 19:13:02'
2026-05-30 19:13:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 5, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 19:13:05'
2026-05-30 19:13:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 18, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 19:13:18'
2026-05-30 19:13:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 18, 689000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 19:13:18'
2026-05-30 19:13:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 30, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 19:13:30'
2026-05-30 19:13:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 32, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 19:13:32'
2026-05-30 19:13:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 44, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:13:44'
2026-05-30 19:13:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 47, 862000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 19:13:47'
2026-05-30 19:13:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 13, 58, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 19:13:58'
2026-05-30 19:14:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 14, 26, 68843, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16541, 'low': 1.16495, 'close': 1.16533, 'volume': 10.0} | asctime='2026-05-30 19:14:26'
2026-05-30 19:14:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 14, 26, 69741, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16678, 'low': 1.16623, 'close': 1.16623, 'volume': 10.0} | asctime='2026-05-30 19:14:26'
2026-05-30 19:14:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 14, 26, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 19:14:26'
2026-05-30 19:14:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 14, 28, 581000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 19:14:28'
2026-05-30 19:14:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 14, 30, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 19:14:30'
2026-05-30 19:15:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 15, 33, 767630, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16547, 'low': 1.16516, 'close': 1.16547, 'volume': 3.0} | asctime='2026-05-30 19:15:33'
2026-05-30 19:15:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 15, 33, 769416, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16622, 'high': 1.16648, 'low': 1.16622, 'close': 1.16637, 'volume': 3.0} | asctime='2026-05-30 19:15:33'
2026-05-30 19:15:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 15, 33, 770390, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16503, 'high': 1.16555, 'low': 1.16495, 'close': 1.16547, 'volume': 21.0} | asctime='2026-05-30 19:15:33'
2026-05-30 19:15:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 15, 33, 771577, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16659, 'high': 1.16678, 'low': 1.16622, 'close': 1.16637, 'volume': 21.0} | asctime='2026-05-30 19:15:33'
2026-05-30 19:15:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 15, 33, 772539, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16521, 'high': 1.1656, 'low': 1.1649, 'close': 1.16547, 'volume': 72.0} | asctime='2026-05-30 19:15:33'
2026-05-30 19:15:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 15, 33, 773454, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16653, 'high': 1.16678, 'low': 1.16617, 'close': 1.16637, 'volume': 72.0} | asctime='2026-05-30 19:15:33'
2026-05-30 19:15:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 15, 33, 755000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 19:15:33'
2026-05-30 19:15:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 15, 38, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 19:15:38'
2026-05-30 19:15:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 15, 44, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:15:44'
2026-05-30 19:16:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 16, 16, 317336, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16539, 'low': 1.16505, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 19:16:16'
2026-05-30 19:16:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 16, 16, 318278, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16666, 'low': 1.16629, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 19:16:16'
2026-05-30 19:16:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 16, 16, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 19:16:16'
2026-05-30 19:16:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 16, 16, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 19:16:16'
2026-05-30 19:16:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 16, 43, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 19:16:43'
2026-05-30 19:17:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 17, 3, 18657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16503, 'high': 1.16542, 'low': 1.16496, 'close': 1.16542, 'volume': 3.0} | asctime='2026-05-30 19:17:03'
2026-05-30 19:17:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 17, 3, 19458, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16676, 'low': 1.16632, 'close': 1.16632, 'volume': 3.0} | asctime='2026-05-30 19:17:03'
2026-05-30 19:17:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 17, 3, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 19:17:03'
2026-05-30 19:17:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 17, 5, 371000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 19:17:05'
2026-05-30 19:17:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 17, 7, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 19:17:07'
2026-05-30 19:18:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 18, 52, 515233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16512, 'high': 1.16536, 'low': 1.16505, 'close': 1.16536, 'volume': 3.0} | asctime='2026-05-30 19:18:52'
2026-05-30 19:18:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 18, 52, 516643, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16644, 'high': 1.16661, 'low': 1.16626, 'close': 1.16626, 'volume': 3.0} | asctime='2026-05-30 19:18:52'
2026-05-30 19:18:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 18, 52, 504000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 19:18:52'
2026-05-30 19:18:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 18, 52, 999000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 19:18:53'
2026-05-30 19:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 19, 3, 65266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16523, 'close': 1.16523, 'volume': 2.0} | asctime='2026-05-30 19:19:03'
2026-05-30 19:19:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 19, 3, 72204, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16655, 'low': 1.16634, 'close': 1.16655, 'volume': 2.0} | asctime='2026-05-30 19:19:03'
2026-05-30 19:19:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 19, 3, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16559, 'volume': 0.0} | asctime='2026-05-30 19:19:03'
2026-05-30 19:19:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 19, 15, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 19:19:15'
2026-05-30 19:19:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 19, 15, 717000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 19:19:15'
2026-05-30 19:19:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 19, 17, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 19:19:17'
2026-05-30 19:19:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 19, 36, 201000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 19:19:36'
2026-05-30 19:20:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 20, 12, 314846, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16559, 'high': 1.16559, 'low': 1.16528, 'close': 1.16538, 'volume': 5.0} | asctime='2026-05-30 19:20:12'
2026-05-30 19:20:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 20, 12, 316016, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.1666, 'low': 1.16628, 'close': 1.16628, 'volume': 5.0} | asctime='2026-05-30 19:20:12'
2026-05-30 19:20:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 20, 12, 318414, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1651, 'high': 1.16559, 'low': 1.16496, 'close': 1.16538, 'volume': 16.0} | asctime='2026-05-30 19:20:12'
2026-05-30 19:20:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 20, 12, 319696, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16666, 'high': 1.16676, 'low': 1.16626, 'close': 1.16628, 'volume': 16.0} | asctime='2026-05-30 19:20:12'
2026-05-30 19:20:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 20, 12, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:20:12'
2026-05-30 19:20:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 20, 53, 43000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 19:20:53'
2026-05-30 19:20:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 20, 55, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 19:20:55'
2026-05-30 19:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 20, 57, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 19:20:57'
2026-05-30 19:22:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 22, 8, 363515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16497, 'close': 1.16519, 'volume': 4.0} | asctime='2026-05-30 19:22:08'
2026-05-30 19:22:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 22, 8, 364799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16655, 'low': 1.16609, 'close': 1.16609, 'volume': 4.0} | asctime='2026-05-30 19:22:08'
2026-05-30 19:22:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 22, 8, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 19:22:08'
2026-05-30 19:22:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 22, 21, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 19:22:21'
2026-05-30 19:22:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 22, 23, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 19:22:23'
2026-05-30 19:22:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 22, 41, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 19:22:41'
2026-05-30 19:22:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 22, 43, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 19:22:43'
2026-05-30 19:22:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 22, 53, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 19:22:53'
2026-05-30 19:23:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 23, 24, 113265, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16541, 'low': 1.16502, 'close': 1.1653, 'volume': 6.0} | asctime='2026-05-30 19:23:24'
2026-05-30 19:23:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 23, 24, 114181, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16647, 'low': 1.1662, 'close': 1.1662, 'volume': 6.0} | asctime='2026-05-30 19:23:24'
2026-05-30 19:23:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 23, 24, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 19:23:24'
2026-05-30 19:23:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 23, 27, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:23:27'
2026-05-30 19:24:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 24, 2, 612674, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16539, 'low': 1.16533, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 19:24:02'
2026-05-30 19:24:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 24, 2, 613472, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16629, 'low': 1.16623, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 19:24:02'
2026-05-30 19:24:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 24, 2, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 19:24:02'
2026-05-30 19:24:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 24, 27, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:24:27'
2026-05-30 19:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 24, 57, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 19:24:57'
2026-05-30 19:25:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 3, 61809, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16533, 'low': 1.16527, 'close': 1.16529, 'volume': 3.0} | asctime='2026-05-30 19:25:03'
2026-05-30 19:25:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 3, 63266, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16623, 'low': 1.16617, 'close': 1.16619, 'volume': 3.0} | asctime='2026-05-30 19:25:03'
2026-05-30 19:25:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 3, 63840, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16541, 'low': 1.16497, 'close': 1.16529, 'volume': 15.0} | asctime='2026-05-30 19:25:03'
2026-05-30 19:25:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 3, 64319, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16655, 'low': 1.16609, 'close': 1.16619, 'volume': 15.0} | asctime='2026-05-30 19:25:03'
2026-05-30 19:25:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 3, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 19:25:03'
2026-05-30 19:25:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 21, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 19:25:21'
2026-05-30 19:25:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 23, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 19:25:23'
2026-05-30 19:25:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 25, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:25:25'
2026-05-30 19:25:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 38, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 19:25:38'
2026-05-30 19:25:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 25, 39, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 19:25:39'
2026-05-30 19:26:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 26, 3, 111711, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16544, 'low': 1.16502, 'close': 1.1653, 'volume': 6.0} | asctime='2026-05-30 19:26:03'
2026-05-30 19:26:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 26, 3, 112576, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16662, 'low': 1.16634, 'close': 1.16662, 'volume': 6.0} | asctime='2026-05-30 19:26:03'
2026-05-30 19:26:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 26, 3, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 19:26:03'
2026-05-30 19:27:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 27, 33, 10921, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16561, 'high': 1.16561, 'low': 1.16561, 'close': 1.16561, 'volume': 1.0} | asctime='2026-05-30 19:27:33'
2026-05-30 19:27:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 27, 33, 11892, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16651, 'low': 1.16651, 'close': 1.16651, 'volume': 1.0} | asctime='2026-05-30 19:27:33'
2026-05-30 19:27:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 27, 33, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 19:27:33'
2026-05-30 19:27:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 27, 53, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:27:53'
2026-05-30 19:27:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 27, 55, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 19:27:55'
2026-05-30 19:28:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 28, 0, 959588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16539, 'low': 1.16528, 'close': 1.16538, 'volume': 3.0} | asctime='2026-05-30 19:28:00'
2026-05-30 19:28:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 28, 0, 960420, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1666, 'low': 1.16628, 'close': 1.16628, 'volume': 3.0} | asctime='2026-05-30 19:28:00'
2026-05-30 19:28:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 28, 0, 954000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 19:28:00'
2026-05-30 19:28:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 28, 3, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 19:28:03'
2026-05-30 19:28:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 28, 5, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 19:28:05'
2026-05-30 19:29:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 29, 1, 659767, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16491, 'high': 1.16541, 'low': 1.16491, 'close': 1.16541, 'volume': 3.0} | asctime='2026-05-30 19:29:01'
2026-05-30 19:29:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 29, 1, 660835, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16671, 'high': 1.16671, 'low': 1.16631, 'close': 1.16631, 'volume': 3.0} | asctime='2026-05-30 19:29:01'
2026-05-30 19:29:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 29, 1, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 19:29:01'
2026-05-30 19:30:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 24, 708894, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16543, 'close': 1.16543, 'volume': 1.0} | asctime='2026-05-30 19:30:24'
2026-05-30 19:30:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 24, 713675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16633, 'low': 1.16633, 'close': 1.16633, 'volume': 1.0} | asctime='2026-05-30 19:30:24'
2026-05-30 19:30:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 24, 716342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16502, 'high': 1.16561, 'low': 1.16491, 'close': 1.16543, 'volume': 14.0} | asctime='2026-05-30 19:30:24'
2026-05-30 19:30:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 24, 723464, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16671, 'low': 1.16628, 'close': 1.16633, 'volume': 14.0} | asctime='2026-05-30 19:30:24'
2026-05-30 19:30:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 24, 727615, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1651, 'high': 1.16561, 'low': 1.16491, 'close': 1.16543, 'volume': 45.0} | asctime='2026-05-30 19:30:24'
2026-05-30 19:30:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 24, 729336, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16666, 'high': 1.16676, 'low': 1.16609, 'close': 1.16633, 'volume': 45.0} | asctime='2026-05-30 19:30:24'
2026-05-30 19:30:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 24, 708000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 19:30:24'
2026-05-30 19:30:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 24, 832000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 19:30:24'
2026-05-30 19:30:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 25, 204000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 19:30:25'
2026-05-30 19:30:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 25, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 19:30:25'
2026-05-30 19:30:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 26, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 19:30:26'
2026-05-30 19:30:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 28, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 19:30:28'
2026-05-30 19:30:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 36, 377000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 19:30:36'
2026-05-30 19:30:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 38, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 19:30:38'
2026-05-30 19:30:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 30, 44, 571000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 19:30:44'
2026-05-30 19:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 31, 4, 57799, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16536, 'low': 1.16491, 'close': 1.16516, 'volume': 9.0} | asctime='2026-05-30 19:31:04'
2026-05-30 19:31:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 31, 4, 58842, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16676, 'low': 1.16643, 'close': 1.16672, 'volume': 9.0} | asctime='2026-05-30 19:31:04'
2026-05-30 19:31:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 31, 4, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 19:31:04'
2026-05-30 19:31:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 31, 32, 613000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 19:31:32'
2026-05-30 19:31:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 31, 46, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 19:31:46'
2026-05-30 19:32:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 32, 43, 828820, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16543, 'low': 1.16532, 'close': 1.16543, 'volume': 3.0} | asctime='2026-05-30 19:32:43'
2026-05-30 19:32:43 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 32, 43, 829902, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16666, 'low': 1.16633, 'close': 1.16633, 'volume': 3.0} | asctime='2026-05-30 19:32:43'
2026-05-30 19:32:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 32, 43, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 19:32:43'
2026-05-30 19:32:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 32, 54, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 19:32:54'
2026-05-30 19:32:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 32, 54, 917000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 19:32:54'
2026-05-30 19:32:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 32, 56, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 19:32:56'
2026-05-30 19:33:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 33, 9, 907157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16536, 'low': 1.16514, 'close': 1.16536, 'volume': 4.0} | asctime='2026-05-30 19:33:09'
2026-05-30 19:33:09 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 33, 9, 907947, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16646, 'low': 1.16619, 'close': 1.16626, 'volume': 4.0} | asctime='2026-05-30 19:33:09'
2026-05-30 19:33:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 33, 9, 939000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 19:33:09'
2026-05-30 19:33:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 33, 10, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 19:33:10'
2026-05-30 19:33:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 33, 10, 559000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 19:33:10'
2026-05-30 19:33:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 33, 11, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16487, 'volume': 0.0} | asctime='2026-05-30 19:33:11'
2026-05-30 19:33:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 33, 39, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 19:33:39'
2026-05-30 19:35:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 35, 22, 505278, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16537, 'low': 1.16487, 'close': 1.16537, 'volume': 5.0} | asctime='2026-05-30 19:35:22'
2026-05-30 19:35:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 35, 22, 506747, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16649, 'low': 1.16627, 'close': 1.16627, 'volume': 5.0} | asctime='2026-05-30 19:35:22'
2026-05-30 19:35:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 35, 22, 507933, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16511, 'high': 1.16543, 'low': 1.16487, 'close': 1.16537, 'volume': 21.0} | asctime='2026-05-30 19:35:22'
2026-05-30 19:35:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 35, 22, 508825, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16643, 'high': 1.16676, 'low': 1.16619, 'close': 1.16627, 'volume': 21.0} | asctime='2026-05-30 19:35:22'
2026-05-30 19:35:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 35, 22, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 19:35:22'
2026-05-30 19:35:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 35, 23, 140000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 19:35:23'
2026-05-30 19:35:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 35, 40, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 19:35:40'
2026-05-30 19:35:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 35, 41, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 19:35:41'
2026-05-30 19:35:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 35, 49, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 19:35:49'
2026-05-30 19:36:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 36, 15, 155269, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16547, 'low': 1.16506, 'close': 1.16529, 'volume': 5.0} | asctime='2026-05-30 19:36:15'
2026-05-30 19:36:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 36, 15, 156078, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16666, 'low': 1.16637, 'close': 1.16661, 'volume': 5.0} | asctime='2026-05-30 19:36:15'
2026-05-30 19:36:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 36, 15, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 19:36:15'
2026-05-30 19:36:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 36, 21, 362000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 19:36:21'
2026-05-30 19:36:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 36, 22, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 19:36:22'
2026-05-30 19:36:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 36, 32, 410000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 19:36:32'
2026-05-30 19:36:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 36, 35, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 19:36:35'
2026-05-30 19:36:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 36, 38, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 19:36:38'
2026-05-30 19:36:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 36, 47, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 19:36:47'
2026-05-30 19:37:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 37, 39, 304029, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16556, 'low': 1.16508, 'close': 1.1654, 'volume': 7.0} | asctime='2026-05-30 19:37:39'
2026-05-30 19:37:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 37, 39, 305304, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16672, 'low': 1.16633, 'close': 1.16672, 'volume': 7.0} | asctime='2026-05-30 19:37:39'
2026-05-30 19:37:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 37, 39, 322000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 19:37:39'
2026-05-30 19:37:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 37, 40, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:37:40'
2026-05-30 19:37:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 37, 48, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 19:37:48'
2026-05-30 19:38:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 38, 3, 753603, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16537, 'low': 1.16527, 'close': 1.16537, 'volume': 3.0} | asctime='2026-05-30 19:38:03'
2026-05-30 19:38:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 38, 3, 754340, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16667, 'high': 1.16667, 'low': 1.16627, 'close': 1.16627, 'volume': 3.0} | asctime='2026-05-30 19:38:03'
2026-05-30 19:38:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 38, 3, 777000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 19:38:03'
2026-05-30 19:38:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 38, 14, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 19:38:14'
2026-05-30 19:38:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 38, 19, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 19:38:19'
2026-05-30 19:38:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 38, 20, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 19:38:20'
2026-05-30 19:38:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 38, 22, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 19:38:22'
2026-05-30 19:38:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 38, 54, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 19:38:54'
2026-05-30 19:39:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 2, 203727, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16553, 'low': 1.16505, 'close': 1.16541, 'volume': 6.0} | asctime='2026-05-30 19:39:02'
2026-05-30 19:39:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 2, 204716, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.1667, 'low': 1.16623, 'close': 1.16631, 'volume': 6.0} | asctime='2026-05-30 19:39:02'
2026-05-30 19:39:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 2, 247000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:39:02'
2026-05-30 19:39:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 3, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 19:39:03'
2026-05-30 19:39:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 16, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 19:39:16'
2026-05-30 19:39:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 16, 275000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 19:39:16'
2026-05-30 19:39:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 17, 889000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 19:39:17'
2026-05-30 19:39:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 20, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 19:39:20'
2026-05-30 19:39:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 43, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 19:39:43'
2026-05-30 19:39:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 51, 407000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 19:39:51'
2026-05-30 19:39:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 52, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 19:39:52'
2026-05-30 19:39:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 39, 58, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 19:39:58'
2026-05-30 19:40:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 40, 2, 52755, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16547, 'low': 1.16493, 'close': 1.16523, 'volume': 10.0} | asctime='2026-05-30 19:40:02'
2026-05-30 19:40:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 40, 2, 53749, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16673, 'low': 1.16625, 'close': 1.16655, 'volume': 10.0} | asctime='2026-05-30 19:40:02'
2026-05-30 19:40:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 40, 2, 55210, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16523, 'high': 1.16556, 'low': 1.16493, 'close': 1.16523, 'volume': 31.0} | asctime='2026-05-30 19:40:02'
2026-05-30 19:40:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 40, 2, 56587, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16655, 'high': 1.16673, 'low': 1.16623, 'close': 1.16655, 'volume': 31.0} | asctime='2026-05-30 19:40:02'
2026-05-30 19:40:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 40, 2, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 19:40:02'
2026-05-30 19:40:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 40, 4, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 19:40:04'
2026-05-30 19:40:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 40, 52, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:40:52'
2026-05-30 19:41:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 41, 58, 501589, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16544, 'low': 1.16539, 'close': 1.16539, 'volume': 3.0} | asctime='2026-05-30 19:41:58'
2026-05-30 19:41:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 41, 58, 503130, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16634, 'low': 1.16629, 'close': 1.16629, 'volume': 3.0} | asctime='2026-05-30 19:41:58'
2026-05-30 19:41:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 41, 58, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 19:41:58'
2026-05-30 19:42:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 42, 41, 100803, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16533, 'low': 1.16533, 'close': 1.16533, 'volume': 1.0} | asctime='2026-05-30 19:42:41'
2026-05-30 19:42:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 42, 41, 101667, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16623, 'low': 1.16623, 'close': 1.16623, 'volume': 1.0} | asctime='2026-05-30 19:42:41'
2026-05-30 19:42:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 42, 41, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 19:42:41'
2026-05-30 19:43:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 24, 300619, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16527, 'low': 1.16527, 'close': 1.16527, 'volume': 1.0} | asctime='2026-05-30 19:43:24'
2026-05-30 19:43:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 24, 301606, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16617, 'high': 1.16617, 'low': 1.16617, 'close': 1.16617, 'volume': 1.0} | asctime='2026-05-30 19:43:24'
2026-05-30 19:43:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 24, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 19:43:24'
2026-05-30 19:43:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 25, 424000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 19:43:25'
2026-05-30 19:43:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 25, 547000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16475, 'volume': 0.0} | asctime='2026-05-30 19:43:25'
2026-05-30 19:43:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 33, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 19:43:33'
2026-05-30 19:43:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 34, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 19:43:34'
2026-05-30 19:43:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 35, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 19:43:35'
2026-05-30 19:43:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 35, 851000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 19:43:35'
2026-05-30 19:43:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 43, 47, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 19:43:47'
2026-05-30 19:44:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 44, 49, 700419, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16544, 'low': 1.16475, 'close': 1.16532, 'volume': 8.0} | asctime='2026-05-30 19:44:49'
2026-05-30 19:44:49 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 44, 49, 701327, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.1668, 'low': 1.16622, 'close': 1.16622, 'volume': 8.0} | asctime='2026-05-30 19:44:49'
2026-05-30 19:44:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 44, 49, 716000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 19:44:49'
2026-05-30 19:44:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 44, 50, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 19:44:50'
2026-05-30 19:44:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 44, 52, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 19:44:52'
2026-05-30 19:44:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 44, 54, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 19:44:54'
2026-05-30 19:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 2, 374672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16549, 'low': 1.16503, 'close': 1.16549, 'volume': 4.0} | asctime='2026-05-30 19:45:02'
2026-05-30 19:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 2, 375898, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16659, 'low': 1.16639, 'close': 1.16639, 'volume': 4.0} | asctime='2026-05-30 19:45:02'
2026-05-30 19:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 2, 378006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16544, 'high': 1.16549, 'low': 1.16475, 'close': 1.16549, 'volume': 17.0} | asctime='2026-05-30 19:45:02'
2026-05-30 19:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 2, 379040, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16634, 'high': 1.1668, 'low': 1.16617, 'close': 1.16639, 'volume': 17.0} | asctime='2026-05-30 19:45:02'
2026-05-30 19:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 2, 379942, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16511, 'high': 1.16556, 'low': 1.16475, 'close': 1.16549, 'volume': 69.0} | asctime='2026-05-30 19:45:02'
2026-05-30 19:45:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 2, 380858, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16643, 'high': 1.1668, 'low': 1.16617, 'close': 1.16639, 'volume': 69.0} | asctime='2026-05-30 19:45:02'
2026-05-30 19:45:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 2, 377000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 19:45:02'
2026-05-30 19:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 6, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 19:45:06'
2026-05-30 19:45:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 10, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 19:45:10'
2026-05-30 19:45:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 14, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 19:45:14'
2026-05-30 19:45:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 32, 792000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 19:45:32'
2026-05-30 19:45:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 42, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 19:45:42'
2026-05-30 19:45:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 42, 599000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 19:45:42'
2026-05-30 19:45:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 44, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 19:45:44'
2026-05-30 19:45:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 46, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 19:45:46'
2026-05-30 19:45:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 45, 51, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 19:45:51'
2026-05-30 19:46:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 3, 49295, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16549, 'low': 1.16512, 'close': 1.16525, 'volume': 10.0} | asctime='2026-05-30 19:46:03'
2026-05-30 19:46:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 3, 50016, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16676, 'high': 1.16677, 'low': 1.1663, 'close': 1.16657, 'volume': 10.0} | asctime='2026-05-30 19:46:03'
2026-05-30 19:46:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 3, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 19:46:03'
2026-05-30 19:46:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 4, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 19:46:04'
2026-05-30 19:46:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 24, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 19:46:24'
2026-05-30 19:46:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 25, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 19:46:25'
2026-05-30 19:46:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 29, 772000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:46:29'
2026-05-30 19:46:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 35, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 19:46:35'
2026-05-30 19:46:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 38, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 19:46:38'
2026-05-30 19:46:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 46, 39, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 19:46:39'
2026-05-30 19:47:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 47, 13, 947732, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16553, 'low': 1.1653, 'close': 1.16543, 'volume': 8.0} | asctime='2026-05-30 19:47:13'
2026-05-30 19:47:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 47, 13, 948575, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16666, 'low': 1.16611, 'close': 1.16633, 'volume': 8.0} | asctime='2026-05-30 19:47:13'
2026-05-30 19:47:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 47, 13, 967000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 19:47:13'
2026-05-30 19:47:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 47, 37, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 19:47:37'
2026-05-30 19:47:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 47, 47, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 19:47:47'
2026-05-30 19:47:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 47, 49, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 19:47:49'
2026-05-30 19:48:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 48, 24, 197521, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16549, 'low': 1.1651, 'close': 1.16549, 'volume': 4.0} | asctime='2026-05-30 19:48:24'
2026-05-30 19:48:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 48, 24, 198676, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16619, 'close': 1.16619, 'volume': 4.0} | asctime='2026-05-30 19:48:24'
2026-05-30 19:48:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 48, 24, 230000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 19:48:24'
2026-05-30 19:48:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 48, 59, 361000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 19:48:59'
2026-05-30 19:48:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 48, 59, 733000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 19:48:59'
2026-05-30 19:49:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 49, 3, 47676, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16537, 'low': 1.16517, 'close': 1.16517, 'volume': 3.0} | asctime='2026-05-30 19:49:03'
2026-05-30 19:49:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 49, 3, 49649, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16649, 'low': 1.16625, 'close': 1.16649, 'volume': 3.0} | asctime='2026-05-30 19:49:03'
2026-05-30 19:49:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 49, 3, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 19:49:03'
2026-05-30 19:49:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 49, 25, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 19:49:25'
2026-05-30 19:50:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 50, 55, 46494, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16537, 'low': 1.16514, 'close': 1.16537, 'volume': 2.0} | asctime='2026-05-30 19:50:55'
2026-05-30 19:50:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 50, 55, 47778, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1667, 'high': 1.1667, 'low': 1.16627, 'close': 1.16627, 'volume': 2.0} | asctime='2026-05-30 19:50:55'
2026-05-30 19:50:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 50, 55, 48395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1652, 'high': 1.16553, 'low': 1.1651, 'close': 1.16537, 'volume': 27.0} | asctime='2026-05-30 19:50:55'
2026-05-30 19:50:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 50, 55, 48866, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16676, 'high': 1.16677, 'low': 1.16611, 'close': 1.16627, 'volume': 27.0} | asctime='2026-05-30 19:50:55'
2026-05-30 19:50:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 50, 55, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:50:55'
2026-05-30 19:51:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 51, 35, 145897, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 19:51:35'
2026-05-30 19:51:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 51, 35, 146825, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 19:51:35'
2026-05-30 19:51:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 51, 35, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 19:51:35'
2026-05-30 19:51:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 51, 49, 806000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 19:51:49'
2026-05-30 19:51:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 51, 51, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 19:51:51'
2026-05-30 19:52:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 3, 295350, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16553, 'high': 1.16553, 'low': 1.16502, 'close': 1.16517, 'volume': 3.0} | asctime='2026-05-30 19:52:03'
2026-05-30 19:52:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 3, 297160, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16658, 'low': 1.16623, 'close': 1.16649, 'volume': 3.0} | asctime='2026-05-30 19:52:03'
2026-05-30 19:52:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 3, 336000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 19:52:03'
2026-05-30 19:52:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 3, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16678, 'bid_price': 1.16474, 'volume': 0.0} | asctime='2026-05-30 19:52:03'
2026-05-30 19:52:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 4, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 19:52:04'
2026-05-30 19:52:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 6, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 19:52:06'
2026-05-30 19:52:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 8, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 19:52:08'
2026-05-30 19:52:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 25, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 19:52:25'
2026-05-30 19:52:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 25, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 19:52:25'
2026-05-30 19:52:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 26, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 19:52:26'
2026-05-30 19:52:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 27, 47000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 19:52:26'
2026-05-30 19:52:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 28, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 19:52:28'
2026-05-30 19:52:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 52, 51, 503000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 19:52:51'
2026-05-30 19:53:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 11, 94785, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.165, 'high': 1.16551, 'low': 1.16474, 'close': 1.16513, 'volume': 11.0} | asctime='2026-05-30 19:53:11'
2026-05-30 19:53:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 11, 95693, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16678, 'low': 1.16635, 'close': 1.16645, 'volume': 11.0} | asctime='2026-05-30 19:53:11'
2026-05-30 19:53:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 11, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 19:53:11'
2026-05-30 19:53:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 29, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 19:53:29'
2026-05-30 19:53:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 31, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 19:53:31'
2026-05-30 19:53:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 33, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 19:53:33'
2026-05-30 19:53:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 44, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 19:53:44'
2026-05-30 19:53:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 54, 566000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 19:53:54'
2026-05-30 19:53:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 55, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 19:53:55'
2026-05-30 19:53:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 53, 57, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 19:53:57'
2026-05-30 19:54:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 54, 33, 43929, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16553, 'low': 1.16517, 'close': 1.16531, 'volume': 8.0} | asctime='2026-05-30 19:54:33'
2026-05-30 19:54:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 54, 33, 44853, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16655, 'low': 1.16621, 'close': 1.16621, 'volume': 8.0} | asctime='2026-05-30 19:54:33'
2026-05-30 19:54:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 54, 33, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 19:54:33'
2026-05-30 19:54:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 54, 35, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 19:54:35'
2026-05-30 19:56:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 56, 7, 243152, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16539, 'low': 1.16535, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 19:56:07'
2026-05-30 19:56:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 56, 7, 243837, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16629, 'low': 1.16625, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 19:56:07'
2026-05-30 19:56:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 56, 7, 244528, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16553, 'low': 1.16474, 'close': 1.16539, 'volume': 25.0} | asctime='2026-05-30 19:56:07'
2026-05-30 19:56:07 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 56, 7, 244985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16678, 'low': 1.16621, 'close': 1.16629, 'volume': 25.0} | asctime='2026-05-30 19:56:07'
2026-05-30 19:56:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 56, 7, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 19:56:07'
2026-05-30 19:56:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 56, 8, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 19:56:08'
2026-05-30 19:56:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 56, 59, 907000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 19:56:59'
2026-05-30 19:57:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 57, 2, 94242, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16553, 'low': 1.16503, 'close': 1.16503, 'volume': 3.0} | asctime='2026-05-30 19:57:02'
2026-05-30 19:57:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 57, 2, 95052, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16659, 'low': 1.16643, 'close': 1.16659, 'volume': 3.0} | asctime='2026-05-30 19:57:02'
2026-05-30 19:57:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 57, 2, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 19:57:02'
2026-05-30 19:57:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 57, 3, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 19:57:02'
2026-05-30 19:57:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 57, 4, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 19:57:04'
2026-05-30 19:57:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 57, 16, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 19:57:16'
2026-05-30 19:57:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 57, 18, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 19:57:18'
2026-05-30 19:59:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 59, 14, 191321, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16551, 'low': 1.1651, 'close': 1.16551, 'volume': 5.0} | asctime='2026-05-30 19:59:14'
2026-05-30 19:59:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 59, 14, 192070, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16642, 'low': 1.16619, 'close': 1.16641, 'volume': 5.0} | asctime='2026-05-30 19:59:14'
2026-05-30 19:59:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 59, 14, 227000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 19:59:14'
2026-05-30 19:59:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 59, 22, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 19:59:22'
2026-05-30 19:59:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 59, 24, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 19:59:24'
2026-05-30 19:59:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 59, 26, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 19:59:26'
2026-05-30 19:59:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 19, 59, 56, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 19:59:56'
2026-05-30 20:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 0, 937391, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16536, 'low': 1.16521, 'close': 1.16536, 'volume': 5.0} | asctime='2026-05-30 20:05:00'
2026-05-30 20:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 0, 938363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16621, 'close': 1.16626, 'volume': 5.0} | asctime='2026-05-30 20:05:00'
2026-05-30 20:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 0, 940057, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16524, 'high': 1.16553, 'low': 1.16503, 'close': 1.16536, 'volume': 13.0} | asctime='2026-05-30 20:05:00'
2026-05-30 20:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 0, 941363, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16656, 'high': 1.16659, 'low': 1.16619, 'close': 1.16626, 'volume': 13.0} | asctime='2026-05-30 20:05:00'
2026-05-30 20:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 0, 942270, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.1652, 'high': 1.16553, 'low': 1.16474, 'close': 1.16536, 'volume': 65.0} | asctime='2026-05-30 20:05:00'
2026-05-30 20:05:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 0, 942816, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16676, 'high': 1.16678, 'low': 1.16611, 'close': 1.16626, 'volume': 65.0} | asctime='2026-05-30 20:05:00'
2026-05-30 20:05:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 0, 951000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 20:05:00'
2026-05-30 20:05:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 2, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 20:05:02'
2026-05-30 20:05:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 4, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 20:05:04'
2026-05-30 20:05:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 17, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 20:05:17'
2026-05-30 20:05:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 24, 290000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 20:05:24'
2026-05-30 20:05:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 27, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 20:05:27'
2026-05-30 20:05:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 33, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 20:05:33'
2026-05-30 20:05:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 34, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:05:34'
2026-05-30 20:05:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 5, 34, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 20:05:34'
2026-05-30 20:06:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 6, 3, 89019, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16558, 'low': 1.16516, 'close': 1.16526, 'volume': 9.0} | asctime='2026-05-30 20:06:03'
2026-05-30 20:06:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 6, 3, 89995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16679, 'low': 1.16629, 'close': 1.16658, 'volume': 9.0} | asctime='2026-05-30 20:06:03'
2026-05-30 20:06:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 6, 3, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 20:06:03'
2026-05-30 20:06:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 6, 5, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 20:06:05'
2026-05-30 20:06:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 6, 36, 662000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 20:06:36'
2026-05-30 20:06:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 6, 39, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 20:06:39'
2026-05-30 20:06:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 6, 47, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 20:06:47'
2026-05-30 20:07:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 7, 14, 237690, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16554, 'low': 1.16503, 'close': 1.16553, 'volume': 5.0} | asctime='2026-05-30 20:07:14'
2026-05-30 20:07:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 7, 14, 238805, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16659, 'low': 1.16623, 'close': 1.16623, 'volume': 5.0} | asctime='2026-05-30 20:07:14'
2026-05-30 20:07:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 7, 14, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:07:14'
2026-05-30 20:07:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 7, 46, 803000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 20:07:46'
2026-05-30 20:07:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 7, 47, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 20:07:47'
2026-05-30 20:07:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 7, 49, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 20:07:49'
2026-05-30 20:09:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 9, 6, 87085, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16551, 'low': 1.16539, 'close': 1.16551, 'volume': 4.0} | asctime='2026-05-30 20:09:06'
2026-05-30 20:09:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 9, 6, 88018, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16641, 'low': 1.16629, 'close': 1.16641, 'volume': 4.0} | asctime='2026-05-30 20:09:06'
2026-05-30 20:09:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 9, 6, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 20:09:06'
2026-05-30 20:09:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 9, 7, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:09:07'
2026-05-30 20:09:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 9, 36, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 20:09:36'
2026-05-30 20:09:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 9, 45, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 20:09:45'
2026-05-30 20:10:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 16, 585785, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16522, 'close': 1.16524, 'volume': 4.0} | asctime='2026-05-30 20:10:16'
2026-05-30 20:10:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 16, 587208, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16656, 'low': 1.16629, 'close': 1.16656, 'volume': 4.0} | asctime='2026-05-30 20:10:16'
2026-05-30 20:10:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 16, 588491, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16526, 'high': 1.16558, 'low': 1.16503, 'close': 1.16524, 'volume': 22.0} | asctime='2026-05-30 20:10:16'
2026-05-30 20:10:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 16, 589361, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16679, 'low': 1.16623, 'close': 1.16656, 'volume': 22.0} | asctime='2026-05-30 20:10:16'
2026-05-30 20:10:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 16, 638000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 20:10:16'
2026-05-30 20:10:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 17, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 20:10:17'
2026-05-30 20:10:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 21, 853000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 20:10:21'
2026-05-30 20:10:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 23, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 20:10:23'
2026-05-30 20:10:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 25, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 20:10:25'
2026-05-30 20:10:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 10, 33, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:10:33'
2026-05-30 20:12:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 12, 1, 884592, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16539, 'low': 1.16498, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 20:12:01'
2026-05-30 20:12:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 12, 1, 886522, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16662, 'low': 1.16629, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 20:12:01'
2026-05-30 20:12:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 12, 1, 910000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 20:12:01'
2026-05-30 20:12:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 12, 22, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 20:12:22'
2026-05-30 20:12:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 12, 23, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16562, 'volume': 0.0} | asctime='2026-05-30 20:12:23'
2026-05-30 20:12:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 12, 52, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 20:12:52'
2026-05-30 20:12:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 12, 54, 172000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 20:12:54'
2026-05-30 20:12:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 12, 56, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:12:56'
2026-05-30 20:13:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 13, 21, 184415, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16562, 'low': 1.16525, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 20:13:21'
2026-05-30 20:13:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 13, 21, 185777, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16662, 'low': 1.16629, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 20:13:21'
2026-05-30 20:13:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 13, 21, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 20:13:21'
2026-05-30 20:13:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 13, 38, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 20:13:38'
2026-05-30 20:13:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 13, 40, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 20:13:40'
2026-05-30 20:14:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 14, 28, 233870, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.165, 'high': 1.16512, 'low': 1.165, 'close': 1.16507, 'volume': 3.0} | asctime='2026-05-30 20:14:28'
2026-05-30 20:14:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 14, 28, 234636, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16639, 'close': 1.16639, 'volume': 3.0} | asctime='2026-05-30 20:14:28'
2026-05-30 20:14:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 14, 28, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 20:14:28'
2026-05-30 20:14:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 14, 30, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 20:14:30'
2026-05-30 20:15:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 15, 52, 532706, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16514, 'low': 1.16493, 'close': 1.16493, 'volume': 2.0} | asctime='2026-05-30 20:15:52'
2026-05-30 20:15:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 15, 52, 533572, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16649, 'low': 1.16646, 'close': 1.16649, 'volume': 2.0} | asctime='2026-05-30 20:15:52'
2026-05-30 20:15:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 15, 52, 535045, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16516, 'high': 1.16562, 'low': 1.16493, 'close': 1.16493, 'volume': 17.0} | asctime='2026-05-30 20:15:52'
2026-05-30 20:15:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 15, 52, 536324, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16648, 'high': 1.16662, 'low': 1.16629, 'close': 1.16649, 'volume': 17.0} | asctime='2026-05-30 20:15:52'
2026-05-30 20:15:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 15, 52, 537233, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16526, 'high': 1.16562, 'low': 1.16493, 'close': 1.16493, 'volume': 39.0} | asctime='2026-05-30 20:15:52'
2026-05-30 20:15:52 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 15, 52, 538017, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16658, 'high': 1.16679, 'low': 1.16623, 'close': 1.16649, 'volume': 39.0} | asctime='2026-05-30 20:15:52'
2026-05-30 20:15:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 15, 52, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 20:15:52'
2026-05-30 20:15:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 15, 54, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 20:15:54'
2026-05-30 20:15:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 15, 56, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 20:15:56'
2026-05-30 20:16:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 16, 27, 31980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16496, 'high': 1.16527, 'low': 1.16496, 'close': 1.16527, 'volume': 3.0} | asctime='2026-05-30 20:16:27'
2026-05-30 20:16:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 16, 27, 32755, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16659, 'low': 1.16652, 'close': 1.16659, 'volume': 3.0} | asctime='2026-05-30 20:16:27'
2026-05-30 20:16:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 16, 27, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:16:27'
2026-05-30 20:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 17, 0, 31490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 20:17:00'
2026-05-30 20:17:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 17, 0, 32945, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 20:17:00'
2026-05-30 20:17:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 17, 0, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 20:17:00'
2026-05-30 20:17:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 17, 9, 279000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 20:17:09'
2026-05-30 20:17:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 17, 10, 273000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 20:17:10'
2026-05-30 20:18:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 18, 23, 81064, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16545, 'low': 1.16517, 'close': 1.16545, 'volume': 3.0} | asctime='2026-05-30 20:18:23'
2026-05-30 20:18:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 18, 23, 82189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16649, 'low': 1.16632, 'close': 1.16635, 'volume': 3.0} | asctime='2026-05-30 20:18:23'
2026-05-30 20:18:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 18, 23, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 20:18:23'
2026-05-30 20:18:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 18, 50, 208000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 20:18:50'
2026-05-30 20:19:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 19, 4, 81193, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16542, 'low': 1.16525, 'close': 1.16525, 'volume': 2.0} | asctime='2026-05-30 20:19:04'
2026-05-30 20:19:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 19, 4, 82164, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16657, 'low': 1.16632, 'close': 1.16657, 'volume': 2.0} | asctime='2026-05-30 20:19:04'
2026-05-30 20:19:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 19, 4, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 20:19:04'
2026-05-30 20:19:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 19, 28, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 20:19:28'
2026-05-30 20:19:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 19, 32, 41000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 20:19:31'
2026-05-30 20:19:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 19, 32, 413000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 20:19:32'
2026-05-30 20:19:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 19, 34, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 20:19:34'
2026-05-30 20:19:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 19, 42, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 20:19:42'
2026-05-30 20:19:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 19, 44, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 20:19:44'
2026-05-30 20:20:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 20, 31, 330225, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16552, 'high': 1.16552, 'low': 1.16501, 'close': 1.16532, 'volume': 7.0} | asctime='2026-05-30 20:20:31'
2026-05-30 20:20:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 20, 31, 331273, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16658, 'low': 1.16622, 'close': 1.16622, 'volume': 7.0} | asctime='2026-05-30 20:20:31'
2026-05-30 20:20:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 20, 31, 332705, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16496, 'high': 1.16552, 'low': 1.16496, 'close': 1.16532, 'volume': 16.0} | asctime='2026-05-30 20:20:31'
2026-05-30 20:20:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 20, 31, 333614, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16652, 'high': 1.16659, 'low': 1.16622, 'close': 1.16622, 'volume': 16.0} | asctime='2026-05-30 20:20:31'
2026-05-30 20:20:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 20, 31, 380000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 20:20:31'
2026-05-30 20:20:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 20, 32, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 20:20:32'
2026-05-30 20:20:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 20, 54, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 20:20:54'
2026-05-30 20:21:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 21, 42, 228645, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16545, 'low': 1.16517, 'close': 1.16541, 'volume': 3.0} | asctime='2026-05-30 20:21:42'
2026-05-30 20:21:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 21, 42, 229604, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16649, 'low': 1.16631, 'close': 1.16631, 'volume': 3.0} | asctime='2026-05-30 20:21:42'
2026-05-30 20:21:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 21, 42, 263000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 20:21:42'
2026-05-30 20:21:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 21, 52, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 20:21:52'
2026-05-30 20:21:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 21, 58, 525000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 20:21:58'
2026-05-30 20:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 22, 0, 79091, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16527, 'low': 1.16513, 'close': 1.16527, 'volume': 3.0} | asctime='2026-05-30 20:22:00'
2026-05-30 20:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 22, 0, 79830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16615, 'close': 1.16617, 'volume': 3.0} | asctime='2026-05-30 20:22:00'
2026-05-30 20:22:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 22, 0, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 20:22:00'
2026-05-30 20:22:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 22, 3, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 20:22:03'
2026-05-30 20:23:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 23, 24, 29080, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16534, 'low': 1.16532, 'close': 1.16532, 'volume': 2.0} | asctime='2026-05-30 20:23:24'
2026-05-30 20:23:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 23, 24, 31729, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16624, 'low': 1.16622, 'close': 1.16622, 'volume': 2.0} | asctime='2026-05-30 20:23:24'
2026-05-30 20:23:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 23, 24, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 20:23:24'
2026-05-30 20:23:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 23, 56, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:23:56'
2026-05-30 20:24:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 24, 28, 577659, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16539, 'low': 1.16536, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 20:24:28'
2026-05-30 20:24:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 24, 28, 578654, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16629, 'low': 1.16626, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 20:24:28'
2026-05-30 20:24:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 24, 28, 609000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 20:24:28'
2026-05-30 20:24:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 24, 42, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 20:24:42'
2026-05-30 20:25:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 25, 56, 577106, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16542, 'low': 1.16541, 'close': 1.16542, 'volume': 2.0} | asctime='2026-05-30 20:25:56'
2026-05-30 20:25:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 25, 56, 578486, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16632, 'low': 1.16631, 'close': 1.16632, 'volume': 2.0} | asctime='2026-05-30 20:25:56'
2026-05-30 20:25:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 25, 56, 579834, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16517, 'high': 1.16545, 'low': 1.16513, 'close': 1.16542, 'volume': 12.0} | asctime='2026-05-30 20:25:56'
2026-05-30 20:25:56 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 25, 56, 580591, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16649, 'high': 1.16649, 'low': 1.16615, 'close': 1.16632, 'volume': 12.0} | asctime='2026-05-30 20:25:56'
2026-05-30 20:25:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 25, 56, 626000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 20:25:56'
2026-05-30 20:26:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 26, 26, 476011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16541, 'low': 1.16541, 'close': 1.16541, 'volume': 1.0} | asctime='2026-05-30 20:26:26'
2026-05-30 20:26:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 26, 26, 476905, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16631, 'low': 1.16631, 'close': 1.16631, 'volume': 1.0} | asctime='2026-05-30 20:26:26'
2026-05-30 20:26:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 26, 26, 543000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:26:26'
2026-05-30 20:28:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 28, 34, 374615, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 20:28:34'
2026-05-30 20:28:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 28, 34, 375675, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 20:28:34'
2026-05-30 20:28:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 28, 34, 406000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 20:28:34'
2026-05-30 20:29:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 29, 28, 474331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16509, 'low': 1.16509, 'close': 1.16509, 'volume': 1.0} | asctime='2026-05-30 20:29:28'
2026-05-30 20:29:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 29, 28, 475468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16641, 'low': 1.16641, 'close': 1.16641, 'volume': 1.0} | asctime='2026-05-30 20:29:28'
2026-05-30 20:29:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 29, 28, 531000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 20:29:28'
2026-05-30 20:29:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 29, 29, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 20:29:29'
2026-05-30 20:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 42, 223730, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16511, 'low': 1.1651, 'close': 1.16511, 'volume': 2.0} | asctime='2026-05-30 20:30:42'
2026-05-30 20:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 42, 224985, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16643, 'low': 1.16642, 'close': 1.16643, 'volume': 2.0} | asctime='2026-05-30 20:30:42'
2026-05-30 20:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 42, 226358, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16541, 'high': 1.16541, 'low': 1.16509, 'close': 1.16511, 'volume': 5.0} | asctime='2026-05-30 20:30:42'
2026-05-30 20:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 42, 226987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16631, 'high': 1.16643, 'low': 1.16629, 'close': 1.16643, 'volume': 5.0} | asctime='2026-05-30 20:30:42'
2026-05-30 20:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 42, 228170, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16496, 'high': 1.16552, 'low': 1.16496, 'close': 1.16511, 'volume': 33.0} | asctime='2026-05-30 20:30:42'
2026-05-30 20:30:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 42, 229349, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16652, 'high': 1.16659, 'low': 1.16615, 'close': 1.16643, 'volume': 33.0} | asctime='2026-05-30 20:30:42'
2026-05-30 20:30:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 42, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 20:30:42'
2026-05-30 20:30:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 42, 517000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 20:30:42'
2026-05-30 20:30:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 47, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 20:30:47'
2026-05-30 20:30:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 30, 49, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 20:30:49'
2026-05-30 20:31:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 31, 22, 573043, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16493, 'high': 1.16545, 'low': 1.16481, 'close': 1.16545, 'volume': 4.0} | asctime='2026-05-30 20:31:22'
2026-05-30 20:31:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 31, 22, 573974, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16661, 'low': 1.16615, 'close': 1.16615, 'volume': 4.0} | asctime='2026-05-30 20:31:22'
2026-05-30 20:31:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 31, 22, 615000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 20:31:22'
2026-05-30 20:31:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 31, 29, 939000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 20:31:29'
2026-05-30 20:31:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 31, 32, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 20:31:32'
2026-05-30 20:31:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 31, 38, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16602, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 20:31:38'
2026-05-30 20:31:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 31, 54, 395000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 20:31:54'
2026-05-30 20:32:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 32, 26, 23352, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16515, 'close': 1.16515, 'volume': 5.0} | asctime='2026-05-30 20:32:26'
2026-05-30 20:32:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 32, 26, 24825, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16647, 'low': 1.16602, 'close': 1.16647, 'volume': 5.0} | asctime='2026-05-30 20:32:26'
2026-05-30 20:32:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 32, 26, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 20:32:26'
2026-05-30 20:33:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 33, 18, 272047, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16549, 'low': 1.16549, 'close': 1.16549, 'volume': 1.0} | asctime='2026-05-30 20:33:18'
2026-05-30 20:33:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 33, 18, 273077, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16639, 'low': 1.16639, 'close': 1.16639, 'volume': 1.0} | asctime='2026-05-30 20:33:18'
2026-05-30 20:33:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 33, 18, 314000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 20:33:18'
2026-05-30 20:34:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 34, 24, 71120, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16543, 'low': 1.16543, 'close': 1.16543, 'volume': 1.0} | asctime='2026-05-30 20:34:24'
2026-05-30 20:34:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 34, 24, 72978, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16633, 'low': 1.16633, 'close': 1.16633, 'volume': 1.0} | asctime='2026-05-30 20:34:24'
2026-05-30 20:34:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 34, 24, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 20:34:24'
2026-05-30 20:34:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 34, 26, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 20:34:26'
2026-05-30 20:34:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 34, 52, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 20:34:52'
2026-05-30 20:35:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 35, 10, 971190, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16536, 'low': 1.16515, 'close': 1.16536, 'volume': 3.0} | asctime='2026-05-30 20:35:10'
2026-05-30 20:35:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 35, 10, 972372, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16647, 'low': 1.16623, 'close': 1.16626, 'volume': 3.0} | asctime='2026-05-30 20:35:10'
2026-05-30 20:35:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 35, 10, 973743, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16493, 'high': 1.16549, 'low': 1.16481, 'close': 1.16536, 'volume': 14.0} | asctime='2026-05-30 20:35:10'
2026-05-30 20:35:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 35, 10, 974504, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16649, 'high': 1.16661, 'low': 1.16602, 'close': 1.16626, 'volume': 14.0} | asctime='2026-05-30 20:35:10'
2026-05-30 20:35:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 35, 11, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 20:35:10'
2026-05-30 20:35:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 35, 11, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 20:35:11'
2026-05-30 20:35:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 35, 11, 901000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 20:35:11'
2026-05-30 20:35:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 35, 14, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 20:35:14'
2026-05-30 20:36:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 36, 39, 870224, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16537, 'low': 1.16495, 'close': 1.16537, 'volume': 4.0} | asctime='2026-05-30 20:36:39'
2026-05-30 20:36:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 36, 39, 871484, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16627, 'close': 1.16627, 'volume': 4.0} | asctime='2026-05-30 20:36:39'
2026-05-30 20:36:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 36, 39, 917000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 20:36:39'
2026-05-30 20:36:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 36, 41, 406000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 20:36:41'
2026-05-30 20:36:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 36, 50, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 20:36:50'
2026-05-30 20:36:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 36, 50, 592000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 20:36:50'
2026-05-30 20:36:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 36, 50, 964000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 20:36:50'
2026-05-30 20:36:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 36, 52, 82000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 20:36:52'
2026-05-30 20:37:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 2, 69556, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16523, 'low': 1.16497, 'close': 1.16523, 'volume': 6.0} | asctime='2026-05-30 20:37:02'
2026-05-30 20:37:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 2, 71234, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16669, 'low': 1.16633, 'close': 1.16655, 'volume': 6.0} | asctime='2026-05-30 20:37:02'
2026-05-30 20:37:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 2, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 20:37:02'
2026-05-30 20:37:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 4, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 20:37:04'
2026-05-30 20:37:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 4, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 20:37:04'
2026-05-30 20:37:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 6, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 20:37:06'
2026-05-30 20:37:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 16, 413000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 20:37:16'
2026-05-30 20:37:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 16, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 20:37:16'
2026-05-30 20:37:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 17, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 20:37:17'
2026-05-30 20:37:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 30, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 20:37:30'
2026-05-30 20:37:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 30, 316000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 20:37:30'
2026-05-30 20:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 32, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 20:37:32'
2026-05-30 20:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 32, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 20:37:32'
2026-05-30 20:37:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 37, 34, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 20:37:34'
2026-05-30 20:38:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 38, 23, 619150, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16553, 'low': 1.1651, 'close': 1.16519, 'volume': 12.0} | asctime='2026-05-30 20:38:23'
2026-05-30 20:38:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 38, 23, 621048, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16652, 'low': 1.16618, 'close': 1.16651, 'volume': 12.0} | asctime='2026-05-30 20:38:23'
2026-05-30 20:38:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 38, 23, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 20:38:23'
2026-05-30 20:38:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 38, 24, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 20:38:24'
2026-05-30 20:38:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 38, 34, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 20:38:34'
2026-05-30 20:39:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 39, 16, 417832, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16501, 'high': 1.16519, 'low': 1.16499, 'close': 1.16519, 'volume': 3.0} | asctime='2026-05-30 20:39:16'
2026-05-30 20:39:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 39, 16, 418541, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16657, 'low': 1.16609, 'close': 1.16609, 'volume': 3.0} | asctime='2026-05-30 20:39:16'
2026-05-30 20:39:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 39, 16, 457000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16484, 'volume': 0.0} | asctime='2026-05-30 20:39:16'
2026-05-30 20:39:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 39, 16, 580000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 20:39:16'
2026-05-30 20:39:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 39, 16, 952000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 20:39:16'
2026-05-30 20:39:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 39, 18, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 20:39:18'
2026-05-30 20:40:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 40, 58, 66979, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16484, 'high': 1.16517, 'low': 1.16484, 'close': 1.16511, 'volume': 4.0} | asctime='2026-05-30 20:40:58'
2026-05-30 20:40:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 40, 58, 67697, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1664, 'high': 1.1665, 'low': 1.1664, 'close': 1.16643, 'volume': 4.0} | asctime='2026-05-30 20:40:58'
2026-05-30 20:40:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 40, 58, 69186, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16498, 'high': 1.16553, 'low': 1.16484, 'close': 1.16511, 'volume': 29.0} | asctime='2026-05-30 20:40:58'
2026-05-30 20:40:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 40, 58, 70349, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16654, 'high': 1.16669, 'low': 1.16609, 'close': 1.16643, 'volume': 29.0} | asctime='2026-05-30 20:40:58'
2026-05-30 20:40:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 40, 58, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:40:58'
2026-05-30 20:41:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 41, 28, 117176, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 20:41:28'
2026-05-30 20:41:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 41, 28, 117889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 20:41:28'
2026-05-30 20:41:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 41, 28, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 20:41:28'
2026-05-30 20:41:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 41, 30, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 20:41:30'
2026-05-30 20:41:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 41, 46, 292000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 20:41:46'
2026-05-30 20:41:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 41, 56, 844000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 20:41:56'
2026-05-30 20:41:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 41, 58, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 20:41:58'
2026-05-30 20:42:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 42, 0, 16324, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16527, 'low': 1.16498, 'close': 1.16527, 'volume': 5.0} | asctime='2026-05-30 20:42:00'
2026-05-30 20:42:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 42, 0, 17210, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16659, 'low': 1.16631, 'close': 1.16659, 'volume': 5.0} | asctime='2026-05-30 20:42:00'
2026-05-30 20:42:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 42, 0, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 20:42:00'
2026-05-30 20:43:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 43, 59, 165533, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16555, 'high': 1.16555, 'low': 1.16555, 'close': 1.16555, 'volume': 1.0} | asctime='2026-05-30 20:43:59'
2026-05-30 20:43:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 43, 59, 166714, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16645, 'low': 1.16645, 'close': 1.16645, 'volume': 1.0} | asctime='2026-05-30 20:43:59'
2026-05-30 20:43:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 43, 59, 245000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 20:43:59'
2026-05-30 20:44:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 44, 18, 64486, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16527, 'low': 1.16527, 'close': 1.16527, 'volume': 1.0} | asctime='2026-05-30 20:44:18'
2026-05-30 20:44:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 44, 18, 65567, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16659, 'low': 1.16659, 'close': 1.16659, 'volume': 1.0} | asctime='2026-05-30 20:44:18'
2026-05-30 20:44:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 44, 18, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:44:18'
2026-05-30 20:44:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 44, 25, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 20:44:25'
2026-05-30 20:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 45, 6, 115687, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16515, 'close': 1.16515, 'volume': 2.0} | asctime='2026-05-30 20:45:06'
2026-05-30 20:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 45, 6, 116791, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16647, 'low': 1.16629, 'close': 1.16647, 'volume': 2.0} | asctime='2026-05-30 20:45:06'
2026-05-30 20:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 45, 6, 117972, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16555, 'low': 1.16498, 'close': 1.16515, 'volume': 10.0} | asctime='2026-05-30 20:45:06'
2026-05-30 20:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 45, 6, 118430, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16659, 'low': 1.16629, 'close': 1.16647, 'volume': 10.0} | asctime='2026-05-30 20:45:06'
2026-05-30 20:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 45, 6, 118862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16493, 'high': 1.16555, 'low': 1.16481, 'close': 1.16515, 'volume': 53.0} | asctime='2026-05-30 20:45:06'
2026-05-30 20:45:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 45, 6, 119347, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16649, 'high': 1.16669, 'low': 1.16602, 'close': 1.16647, 'volume': 53.0} | asctime='2026-05-30 20:45:06'
2026-05-30 20:45:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 45, 6, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 20:45:06'
2026-05-30 20:45:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 45, 8, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 20:45:08'
2026-05-30 20:46:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 46, 30, 13633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16536, 'low': 1.16532, 'close': 1.16536, 'volume': 2.0} | asctime='2026-05-30 20:46:30'
2026-05-30 20:46:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 46, 30, 14388, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16622, 'high': 1.16626, 'low': 1.16622, 'close': 1.16626, 'volume': 2.0} | asctime='2026-05-30 20:46:30'
2026-05-30 20:46:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 46, 30, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 20:46:30'
2026-05-30 20:46:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 46, 32, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:46:32'
2026-05-30 20:47:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 47, 40, 512927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16539, 'low': 1.16538, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 20:47:40'
2026-05-30 20:47:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 47, 40, 513810, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16629, 'low': 1.16628, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 20:47:40'
2026-05-30 20:47:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 47, 40, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 20:47:40'
2026-05-30 20:47:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 47, 42, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 20:47:42'
2026-05-30 20:49:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 0, 212239, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16545, 'low': 1.16516, 'close': 1.16545, 'volume': 2.0} | asctime='2026-05-30 20:49:00'
2026-05-30 20:49:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 0, 213980, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16648, 'low': 1.16635, 'close': 1.16635, 'volume': 2.0} | asctime='2026-05-30 20:49:00'
2026-05-30 20:49:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 0, 284000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 20:49:00'
2026-05-30 20:49:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 0, 531000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 20:49:00'
2026-05-30 20:49:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 2, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 20:49:02'
2026-05-30 20:49:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 4, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 20:49:04'
2026-05-30 20:49:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 18, 532000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 20:49:18'
2026-05-30 20:49:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 20, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 20:49:20'
2026-05-30 20:49:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 32, 809000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 20:49:32'
2026-05-30 20:49:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 44, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 20:49:44'
2026-05-30 20:49:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 49, 46, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 20:49:46'
2026-05-30 20:50:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 10, 611208, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.1656, 'low': 1.16508, 'close': 1.16544, 'volume': 9.0} | asctime='2026-05-30 20:50:10'
2026-05-30 20:50:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 10, 613193, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16664, 'low': 1.16633, 'close': 1.16634, 'volume': 9.0} | asctime='2026-05-30 20:50:10'
2026-05-30 20:50:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 10, 614629, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16532, 'high': 1.1656, 'low': 1.16508, 'close': 1.16544, 'volume': 15.0} | asctime='2026-05-30 20:50:10'
2026-05-30 20:50:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 10, 615811, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16622, 'high': 1.16664, 'low': 1.16622, 'close': 1.16634, 'volume': 15.0} | asctime='2026-05-30 20:50:10'
2026-05-30 20:50:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 10, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 20:50:10'
2026-05-30 20:50:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 11, 913000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 20:50:11'
2026-05-30 20:50:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 16, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 20:50:16'
2026-05-30 20:50:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 18, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 20:50:18'
2026-05-30 20:50:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 50, 24000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 20:50:49'
2026-05-30 20:50:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 50, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 20:50:50'
2026-05-30 20:50:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 50, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 20:50:50'
2026-05-30 20:50:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 50, 52, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 20:50:52'
2026-05-30 20:51:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 51, 30, 560755, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16545, 'low': 1.16503, 'close': 1.16543, 'volume': 8.0} | asctime='2026-05-30 20:51:30'
2026-05-30 20:51:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 51, 30, 561717, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16669, 'low': 1.16633, 'close': 1.16633, 'volume': 8.0} | asctime='2026-05-30 20:51:30'
2026-05-30 20:51:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 51, 30, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 20:51:30'
2026-05-30 20:51:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 51, 32, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 20:51:32'
2026-05-30 20:51:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 51, 34, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16605, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 20:51:34'
2026-05-30 20:51:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 51, 52, 715000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 20:51:52'
2026-05-30 20:51:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 51, 52, 962000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 20:51:52'
2026-05-30 20:51:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 51, 56, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 20:51:56'
2026-05-30 20:51:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 51, 58, 797000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 20:51:58'
2026-05-30 20:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 0, 110132, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16535, 'low': 1.16509, 'close': 1.16509, 'volume': 7.0} | asctime='2026-05-30 20:52:00'
2026-05-30 20:52:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 0, 110889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16665, 'low': 1.16605, 'close': 1.16665, 'volume': 7.0} | asctime='2026-05-30 20:52:00'
2026-05-30 20:52:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 0, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 20:52:00'
2026-05-30 20:52:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 14, 565000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 20:52:14'
2026-05-30 20:52:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 16, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 20:52:16'
2026-05-30 20:52:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 18, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 20:52:18'
2026-05-30 20:52:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 20, 771000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 20:52:20'
2026-05-30 20:52:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 21, 515000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 20:52:21'
2026-05-30 20:52:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 22, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 20:52:22'
2026-05-30 20:52:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 26, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 20:52:26'
2026-05-30 20:52:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 35, 916000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 20:52:35'
2026-05-30 20:52:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 37, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 20:52:37'
2026-05-30 20:52:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 39, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 20:52:39'
2026-05-30 20:52:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 55, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 20:52:55'
2026-05-30 20:52:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 55, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 20:52:55'
2026-05-30 20:52:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 55, 901000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 20:52:55'
2026-05-30 20:52:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 52, 56, 522000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 20:52:56'
2026-05-30 20:53:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 53, 8, 609924, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16554, 'low': 1.16513, 'close': 1.16542, 'volume': 15.0} | asctime='2026-05-30 20:53:08'
2026-05-30 20:53:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 53, 8, 610778, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16674, 'low': 1.16627, 'close': 1.16674, 'volume': 15.0} | asctime='2026-05-30 20:53:08'
2026-05-30 20:53:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 53, 8, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 20:53:08'
2026-05-30 20:53:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 53, 9, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 20:53:09'
2026-05-30 20:53:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 53, 13, 33000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 20:53:12'
2026-05-30 20:53:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 53, 15, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:53:15'
2026-05-30 20:53:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 53, 17, 502000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 20:53:17'
2026-05-30 20:53:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 53, 23, 88000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 20:53:23'
2026-05-30 20:53:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 53, 29, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 20:53:29'
2026-05-30 20:54:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 54, 1, 759535, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16543, 'low': 1.16497, 'close': 1.16542, 'volume': 7.0} | asctime='2026-05-30 20:54:01'
2026-05-30 20:54:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 54, 1, 762335, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16672, 'high': 1.16672, 'low': 1.16629, 'close': 1.16632, 'volume': 7.0} | asctime='2026-05-30 20:54:01'
2026-05-30 20:54:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 54, 1, 820000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 20:54:01'
2026-05-30 20:54:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 54, 3, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 20:54:03'
2026-05-30 20:55:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 55, 26, 158098, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16528, 'low': 1.16515, 'close': 1.16528, 'volume': 2.0} | asctime='2026-05-30 20:55:26'
2026-05-30 20:55:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 55, 26, 159960, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16647, 'low': 1.16618, 'close': 1.16618, 'volume': 2.0} | asctime='2026-05-30 20:55:26'
2026-05-30 20:55:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 55, 26, 160829, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16516, 'high': 1.16554, 'low': 1.16497, 'close': 1.16528, 'volume': 39.0} | asctime='2026-05-30 20:55:26'
2026-05-30 20:55:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 55, 26, 161344, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16648, 'high': 1.16674, 'low': 1.16605, 'close': 1.16618, 'volume': 39.0} | asctime='2026-05-30 20:55:26'
2026-05-30 20:55:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 55, 26, 236000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 20:55:26'
2026-05-30 20:55:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 55, 44, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 20:55:44'
2026-05-30 20:55:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 55, 46, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 20:55:46'
2026-05-30 20:55:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 55, 56, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 20:55:56'
2026-05-30 20:57:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 57, 57, 356843, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16542, 'low': 1.16511, 'close': 1.1653, 'volume': 4.0} | asctime='2026-05-30 20:57:57'
2026-05-30 20:57:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 57, 57, 357572, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16646, 'low': 1.1662, 'close': 1.1662, 'volume': 4.0} | asctime='2026-05-30 20:57:57'
2026-05-30 20:57:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 57, 57, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 20:57:57'
2026-05-30 20:58:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 58, 3, 456638, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16516, 'high': 1.16516, 'low': 1.16516, 'close': 1.16516, 'volume': 1.0} | asctime='2026-05-30 20:58:03'
2026-05-30 20:58:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 58, 3, 467157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16648, 'high': 1.16648, 'low': 1.16648, 'close': 1.16648, 'volume': 1.0} | asctime='2026-05-30 20:58:03'
2026-05-30 20:58:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 58, 3, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 20:58:03'
2026-05-30 20:58:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 58, 4, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 20:58:03'
2026-05-30 20:58:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 58, 6, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 20:58:06'
2026-05-30 20:58:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 58, 13, 203000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 20:58:13'
2026-05-30 20:58:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 58, 17, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 20:58:17'
2026-05-30 20:59:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 59, 54, 306123, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16553, 'low': 1.1651, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 20:59:54'
2026-05-30 20:59:54 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 59, 54, 307088, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16668, 'low': 1.16623, 'close': 1.16629, 'volume': 5.0} | asctime='2026-05-30 20:59:54'
2026-05-30 20:59:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 59, 54, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 20:59:54'
2026-05-30 20:59:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 20, 59, 58, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16756, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 20:59:58'
2026-05-30 21:05:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 18, 593623, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16513, 'low': 1.16482, 'close': 1.16482, 'volume': 2.0} | asctime='2026-05-30 21:05:18'
2026-05-30 21:05:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 18, 594337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16756, 'low': 1.16669, 'close': 1.16756, 'volume': 2.0} | asctime='2026-05-30 21:05:18'
2026-05-30 21:05:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 18, 595459, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16514, 'high': 1.16553, 'low': 1.16482, 'close': 1.16482, 'volume': 12.0} | asctime='2026-05-30 21:05:18'
2026-05-30 21:05:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 18, 596341, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16646, 'high': 1.16756, 'low': 1.1662, 'close': 1.16756, 'volume': 12.0} | asctime='2026-05-30 21:05:18'
2026-05-30 21:05:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 18, 597178, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16532, 'high': 1.1656, 'low': 1.16482, 'close': 1.16482, 'volume': 66.0} | asctime='2026-05-30 21:05:18'
2026-05-30 21:05:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 18, 598397, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16622, 'high': 1.16756, 'low': 1.16605, 'close': 1.16756, 'volume': 66.0} | asctime='2026-05-30 21:05:18'
2026-05-30 21:05:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 18, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16772, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 21:05:18'
2026-05-30 21:05:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 18, 776000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16779, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 21:05:18'
2026-05-30 21:05:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 19, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16775, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 21:05:18'
2026-05-30 21:05:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 23, 353000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1682, 'bid_price': 1.1626, 'volume': 0.0} | asctime='2026-05-30 21:05:23'
2026-05-30 21:05:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 5, 37, 506000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16816, 'bid_price': 1.16256, 'volume': 0.0} | asctime='2026-05-30 21:05:37'
2026-05-30 21:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 6, 0, 143709, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16505, 'low': 1.16256, 'close': 1.16256, 'volume': 5.0} | asctime='2026-05-30 21:06:00'
2026-05-30 21:06:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 6, 0, 144554, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16772, 'high': 1.1682, 'low': 1.16772, 'close': 1.16816, 'volume': 5.0} | asctime='2026-05-30 21:06:00'
2026-05-30 21:06:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 6, 0, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16853, 'bid_price': 1.16293, 'volume': 0.0} | asctime='2026-05-30 21:06:00'
2026-05-30 21:06:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 6, 0, 344000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16756, 'bid_price': 1.16482, 'volume': 0.0} | asctime='2026-05-30 21:06:00'
2026-05-30 21:06:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 6, 43, 176000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 21:06:43'
2026-05-30 21:06:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 6, 46, 402000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 21:06:46'
2026-05-30 21:06:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 6, 47, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:06:47'
2026-05-30 21:09:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 9, 12, 192066, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16293, 'high': 1.16539, 'low': 1.16293, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 21:09:12'
2026-05-30 21:09:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 9, 12, 192889, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16853, 'high': 1.16853, 'low': 1.16617, 'close': 1.16629, 'volume': 5.0} | asctime='2026-05-30 21:09:12'
2026-05-30 21:09:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 9, 12, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 21:09:12'
2026-05-30 21:09:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 9, 15, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:09:15'
2026-05-30 21:11:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 40, 890186, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16539, 'low': 1.16538, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 21:11:40'
2026-05-30 21:11:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 40, 891788, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16629, 'low': 1.16628, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 21:11:40'
2026-05-30 21:11:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 40, 893104, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16498, 'high': 1.16539, 'low': 1.16256, 'close': 1.16539, 'volume': 12.0} | asctime='2026-05-30 21:11:40'
2026-05-30 21:11:40 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 40, 894428, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16772, 'high': 1.16853, 'low': 1.16617, 'close': 1.16629, 'volume': 12.0} | asctime='2026-05-30 21:11:40'
2026-05-30 21:11:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 40, 989000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 21:11:40'
2026-05-30 21:11:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 41, 607000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 21:11:41'
2026-05-30 21:11:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 42, 475000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 21:11:42'
2026-05-30 21:11:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 44, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:11:43'
2026-05-30 21:11:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 51, 663000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 21:11:51'
2026-05-30 21:11:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 11, 52, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 21:11:52'
2026-05-30 21:12:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 12, 0, 538922, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16545, 'low': 1.16497, 'close': 1.16498, 'volume': 6.0} | asctime='2026-05-30 21:12:00'
2026-05-30 21:12:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 12, 0, 540125, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16654, 'low': 1.16629, 'close': 1.16654, 'volume': 6.0} | asctime='2026-05-30 21:12:00'
2026-05-30 21:12:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 12, 0, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 21:12:00'
2026-05-30 21:12:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 12, 1, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 21:12:01'
2026-05-30 21:13:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 13, 0, 238752, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16538, 'low': 1.16507, 'close': 1.16538, 'volume': 2.0} | asctime='2026-05-30 21:13:00'
2026-05-30 21:13:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 13, 0, 239536, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16639, 'low': 1.16628, 'close': 1.16628, 'volume': 2.0} | asctime='2026-05-30 21:13:00'
2026-05-30 21:13:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 13, 0, 313000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 21:13:00'
2026-05-30 21:13:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 13, 1, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 21:13:01'
2026-05-30 21:13:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 13, 8, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 21:13:08'
2026-05-30 21:13:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 13, 10, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 21:13:10'
2026-05-30 21:13:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 13, 18, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:13:17'
2026-05-30 21:13:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 13, 20, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 21:13:20'
2026-05-30 21:14:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 12, 487944, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16539, 'low': 1.16504, 'close': 1.16538, 'volume': 6.0} | asctime='2026-05-30 21:14:12'
2026-05-30 21:14:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 12, 488962, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16661, 'low': 1.16628, 'close': 1.16628, 'volume': 6.0} | asctime='2026-05-30 21:14:12'
2026-05-30 21:14:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 12, 562000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 21:14:12'
2026-05-30 21:14:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 21, 251000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 21:14:21'
2026-05-30 21:14:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 32, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 21:14:32'
2026-05-30 21:14:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 34, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 21:14:34'
2026-05-30 21:14:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 49, 557000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 21:14:49'
2026-05-30 21:14:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 50, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 21:14:49'
2026-05-30 21:14:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 54, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 21:14:54'
2026-05-30 21:14:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 54, 768000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 21:14:54'
2026-05-30 21:14:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 56, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 21:14:56'
2026-05-30 21:14:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 14, 58, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 21:14:58'
2026-05-30 21:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 15, 2, 38327, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16538, 'low': 1.16511, 'close': 1.16532, 'volume': 10.0} | asctime='2026-05-30 21:15:02'
2026-05-30 21:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 15, 2, 39088, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16669, 'low': 1.16628, 'close': 1.16664, 'volume': 10.0} | asctime='2026-05-30 21:15:02'
2026-05-30 21:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 15, 2, 40180, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16543, 'high': 1.16545, 'low': 1.16497, 'close': 1.16532, 'volume': 24.0} | asctime='2026-05-30 21:15:02'
2026-05-30 21:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 15, 2, 41044, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16633, 'high': 1.16669, 'low': 1.16628, 'close': 1.16664, 'volume': 24.0} | asctime='2026-05-30 21:15:02'
2026-05-30 21:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 15, 2, 42320, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16498, 'high': 1.16545, 'low': 1.16256, 'close': 1.16532, 'volume': 36.0} | asctime='2026-05-30 21:15:02'
2026-05-30 21:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 15, 2, 42783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16772, 'high': 1.16853, 'low': 1.16617, 'close': 1.16664, 'volume': 36.0} | asctime='2026-05-30 21:15:02'
2026-05-30 21:15:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 15, 2, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 21:15:02'
2026-05-30 21:16:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 16, 2, 315049, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16526, 'low': 1.16526, 'close': 1.16526, 'volume': 1.0} | asctime='2026-05-30 21:16:02'
2026-05-30 21:16:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 16, 2, 315821, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16658, 'close': 1.16658, 'volume': 1.0} | asctime='2026-05-30 21:16:02'
2026-05-30 21:16:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 16, 2, 302000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 21:16:02'
2026-05-30 21:16:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 16, 4, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:16:04'
2026-05-30 21:16:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 16, 6, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 21:16:06'
2026-05-30 21:16:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 16, 22, 786000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 21:16:22'
2026-05-30 21:16:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 16, 28, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 21:16:28'
2026-05-30 21:16:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 16, 32, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:16:32'
2026-05-30 21:18:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 18, 59, 985412, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16539, 'low': 1.1651, 'close': 1.16539, 'volume': 6.0} | asctime='2026-05-30 21:18:59'
2026-05-30 21:18:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 18, 59, 986606, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16666, 'low': 1.16629, 'close': 1.16629, 'volume': 6.0} | asctime='2026-05-30 21:18:59'
2026-05-30 21:18:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 19, 0, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 21:18:59'
2026-05-30 21:19:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 19, 4, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 21:19:04'
2026-05-30 21:19:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 19, 16, 583000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:19:16'
2026-05-30 21:19:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 19, 18, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 21:19:17'
2026-05-30 21:19:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 19, 54, 320000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 21:19:54'
2026-05-30 21:19:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 19, 56, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 21:19:55'
2026-05-30 21:21:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 21, 3, 984225, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16545, 'low': 1.16514, 'close': 1.16545, 'volume': 6.0} | asctime='2026-05-30 21:21:03'
2026-05-30 21:21:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 21, 3, 985272, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16652, 'low': 1.16628, 'close': 1.16635, 'volume': 6.0} | asctime='2026-05-30 21:21:03'
2026-05-30 21:21:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 21, 3, 987250, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16526, 'high': 1.16545, 'low': 1.1651, 'close': 1.16545, 'volume': 13.0} | asctime='2026-05-30 21:21:03'
2026-05-30 21:21:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 21, 3, 988364, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16666, 'low': 1.16628, 'close': 1.16635, 'volume': 13.0} | asctime='2026-05-30 21:21:03'
2026-05-30 21:21:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 21, 4, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:21:03'
2026-05-30 21:21:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 21, 37, 231000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 21:21:37'
2026-05-30 21:23:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 24, 282763, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16534, 'close': 1.16534, 'volume': 2.0} | asctime='2026-05-30 21:23:24'
2026-05-30 21:23:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 24, 283496, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16624, 'close': 1.16624, 'volume': 2.0} | asctime='2026-05-30 21:23:24'
2026-05-30 21:23:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 24, 364000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 21:23:24'
2026-05-30 21:23:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 25, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 21:23:25'
2026-05-30 21:23:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 28, 335000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 21:23:28'
2026-05-30 21:23:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 29, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 21:23:28'
2026-05-30 21:23:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 31, 67000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 21:23:30'
2026-05-30 21:23:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 49, 193000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 21:23:49'
2026-05-30 21:23:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 51, 923000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 21:23:51'
2026-05-30 21:23:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 54, 654000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 21:23:54'
2026-05-30 21:23:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 23, 55, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 21:23:54'
2026-05-30 21:24:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 1, 32480, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16563, 'low': 1.16512, 'close': 1.16563, 'volume': 9.0} | asctime='2026-05-30 21:24:01'
2026-05-30 21:24:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 1, 34476, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16671, 'low': 1.16641, 'close': 1.16653, 'volume': 9.0} | asctime='2026-05-30 21:24:01'
2026-05-30 21:24:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 1, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 21:24:01'
2026-05-30 21:24:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 15, 758000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 21:24:15'
2026-05-30 21:24:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 20, 849000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 21:24:20'
2026-05-30 21:24:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 22, 469000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 21:24:22'
2026-05-30 21:24:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 33, 13000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 21:24:32'
2026-05-30 21:24:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 41, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 21:24:40'
2026-05-30 21:24:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 57, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 21:24:57'
2026-05-30 21:24:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 24, 59, 704000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 21:24:59'
2026-05-30 21:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 25, 0, 382516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16557, 'high': 1.16557, 'low': 1.16509, 'close': 1.1653, 'volume': 8.0} | asctime='2026-05-30 21:25:00'
2026-05-30 21:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 25, 0, 387011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16665, 'low': 1.1663, 'close': 1.16662, 'volume': 8.0} | asctime='2026-05-30 21:25:00'
2026-05-30 21:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 25, 0, 387908, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16563, 'low': 1.16509, 'close': 1.1653, 'volume': 19.0} | asctime='2026-05-30 21:25:00'
2026-05-30 21:25:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 25, 0, 388708, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16671, 'low': 1.16624, 'close': 1.16662, 'volume': 19.0} | asctime='2026-05-30 21:25:00'
2026-05-30 21:25:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 25, 0, 448000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 21:25:00'
2026-05-30 21:25:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 25, 1, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 21:25:00'
2026-05-30 21:25:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 25, 3, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 21:25:02'
2026-05-30 21:25:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 25, 15, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 21:25:15'
2026-05-30 21:25:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 25, 19, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:25:18'
2026-05-30 21:26:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 26, 18, 180816, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16539, 'low': 1.16506, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 21:26:18'
2026-05-30 21:26:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 26, 18, 182856, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16671, 'high': 1.16671, 'low': 1.16626, 'close': 1.16629, 'volume': 5.0} | asctime='2026-05-30 21:26:18'
2026-05-30 21:26:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 26, 18, 285000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 21:26:18'
2026-05-30 21:26:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 26, 20, 519000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 21:26:20'
2026-05-30 21:26:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 26, 53, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 21:26:53'
2026-05-30 21:27:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 27, 12, 579873, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16551, 'low': 1.16515, 'close': 1.16551, 'volume': 3.0} | asctime='2026-05-30 21:27:12'
2026-05-30 21:27:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 27, 12, 580939, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16671, 'low': 1.16625, 'close': 1.16641, 'volume': 3.0} | asctime='2026-05-30 21:27:12'
2026-05-30 21:27:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 27, 12, 657000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 21:27:12'
2026-05-30 21:27:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 27, 15, 389000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 21:27:15'
2026-05-30 21:27:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 27, 16, 381000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:27:16'
2026-05-30 21:27:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 27, 19, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 21:27:19'
2026-05-30 21:27:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 27, 35, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 21:27:35'
2026-05-30 21:29:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 13, 728954, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16537, 'low': 1.16509, 'close': 1.16536, 'volume': 5.0} | asctime='2026-05-30 21:29:13'
2026-05-30 21:29:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 13, 730189, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16665, 'low': 1.16626, 'close': 1.16626, 'volume': 5.0} | asctime='2026-05-30 21:29:13'
2026-05-30 21:29:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 13, 819000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 21:29:13'
2026-05-30 21:29:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 14, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:29:13'
2026-05-30 21:29:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 22, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 21:29:22'
2026-05-30 21:29:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 23, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 21:29:23'
2026-05-30 21:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 58, 758000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 21:29:58'
2026-05-30 21:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 59, 4000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 21:29:58'
2026-05-30 21:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 59, 505000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 21:29:59'
2026-05-30 21:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 59, 624000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16475, 'volume': 0.0} | asctime='2026-05-30 21:29:59'
2026-05-30 21:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 29, 59, 997000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 21:29:59'
2026-05-30 21:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 0, 29337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16542, 'low': 1.16475, 'close': 1.16505, 'volume': 9.0} | asctime='2026-05-30 21:30:00'
2026-05-30 21:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 0, 30789, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16679, 'low': 1.16623, 'close': 1.16637, 'volume': 9.0} | asctime='2026-05-30 21:30:00'
2026-05-30 21:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 0, 31765, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16515, 'high': 1.16551, 'low': 1.16475, 'close': 1.16505, 'volume': 22.0} | asctime='2026-05-30 21:30:00'
2026-05-30 21:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 0, 32871, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16671, 'high': 1.16679, 'low': 1.16623, 'close': 1.16637, 'volume': 22.0} | asctime='2026-05-30 21:30:00'
2026-05-30 21:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 0, 33862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16526, 'high': 1.16563, 'low': 1.16475, 'close': 1.16505, 'volume': 54.0} | asctime='2026-05-30 21:30:00'
2026-05-30 21:30:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 0, 35172, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16658, 'high': 1.16679, 'low': 1.16623, 'close': 1.16637, 'volume': 54.0} | asctime='2026-05-30 21:30:00'
2026-05-30 21:30:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 0, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 21:30:00'
2026-05-30 21:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 1, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 21:30:01'
2026-05-30 21:30:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 5, 584000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 21:30:05'
2026-05-30 21:30:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 14, 524000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 21:30:14'
2026-05-30 21:30:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 30, 15, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:30:15'
2026-05-30 21:31:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 31, 27, 177669, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16524, 'low': 1.16506, 'close': 1.16514, 'volume': 5.0} | asctime='2026-05-30 21:31:27'
2026-05-30 21:31:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 31, 27, 178609, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16646, 'low': 1.16614, 'close': 1.16646, 'volume': 5.0} | asctime='2026-05-30 21:31:27'
2026-05-30 21:31:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 31, 27, 269000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 21:31:27'
2026-05-30 21:31:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 31, 28, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 21:31:28'
2026-05-30 21:31:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 31, 30, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:31:30'
2026-05-30 21:32:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 32, 28, 127476, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16541, 'high': 1.16541, 'low': 1.16495, 'close': 1.16514, 'volume': 3.0} | asctime='2026-05-30 21:32:28'
2026-05-30 21:32:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 32, 28, 128355, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16631, 'high': 1.16651, 'low': 1.16631, 'close': 1.16646, 'volume': 3.0} | asctime='2026-05-30 21:32:28'
2026-05-30 21:32:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 32, 28, 224000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 21:32:28'
2026-05-30 21:32:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 32, 33, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 21:32:32'
2026-05-30 21:32:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 32, 34, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 21:32:33'
2026-05-30 21:32:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 32, 46, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 21:32:46'
2026-05-30 21:32:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 32, 48, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:32:47'
2026-05-30 21:32:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 32, 58, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 21:32:58'
2026-05-30 21:34:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 34, 3, 975688, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16545, 'low': 1.16512, 'close': 1.16512, 'volume': 6.0} | asctime='2026-05-30 21:34:03'
2026-05-30 21:34:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 34, 3, 976714, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16653, 'low': 1.16629, 'close': 1.16644, 'volume': 6.0} | asctime='2026-05-30 21:34:03'
2026-05-30 21:34:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 34, 4, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 21:34:03'
2026-05-30 21:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 2, 425166, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16527, 'low': 1.16527, 'close': 1.16527, 'volume': 1.0} | asctime='2026-05-30 21:35:02'
2026-05-30 21:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 2, 425913, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16617, 'high': 1.16617, 'low': 1.16617, 'close': 1.16617, 'volume': 1.0} | asctime='2026-05-30 21:35:02'
2026-05-30 21:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 2, 426495, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16509, 'high': 1.16545, 'low': 1.16495, 'close': 1.16527, 'volume': 15.0} | asctime='2026-05-30 21:35:02'
2026-05-30 21:35:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 2, 428657, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16641, 'high': 1.16653, 'low': 1.16614, 'close': 1.16617, 'volume': 15.0} | asctime='2026-05-30 21:35:02'
2026-05-30 21:35:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 2, 529000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 21:35:02'
2026-05-30 21:35:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 3, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:35:02'
2026-05-30 21:35:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 19, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 21:35:19'
2026-05-30 21:35:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 30, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 21:35:29'
2026-05-30 21:35:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 43, 743000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 21:35:43'
2026-05-30 21:35:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 35, 50, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 21:35:49'
2026-05-30 21:36:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 36, 34, 323971, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16539, 'low': 1.16512, 'close': 1.16519, 'volume': 6.0} | asctime='2026-05-30 21:36:34'
2026-05-30 21:36:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 36, 34, 324897, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16644, 'low': 1.16609, 'close': 1.16609, 'volume': 6.0} | asctime='2026-05-30 21:36:34'
2026-05-30 21:36:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 36, 34, 391000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 21:36:34'
2026-05-30 21:36:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 36, 36, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 21:36:36'
2026-05-30 21:36:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 36, 44, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 21:36:43'
2026-05-30 21:37:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 37, 13, 23917, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1649, 'high': 1.16499, 'low': 1.16489, 'close': 1.16499, 'volume': 3.0} | asctime='2026-05-30 21:37:13'
2026-05-30 21:37:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 37, 13, 25237, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16655, 'low': 1.16645, 'close': 1.16655, 'volume': 3.0} | asctime='2026-05-30 21:37:13'
2026-05-30 21:37:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 37, 13, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 21:37:13'
2026-05-30 21:37:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 37, 27, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 21:37:27'
2026-05-30 21:37:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 37, 30, 625000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 21:37:30'
2026-05-30 21:37:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 37, 31, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 21:37:31'
2026-05-30 21:38:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 38, 18, 473584, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.1654, 'low': 1.1651, 'close': 1.1654, 'volume': 4.0} | asctime='2026-05-30 21:38:18'
2026-05-30 21:38:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 38, 18, 474506, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16647, 'low': 1.1662, 'close': 1.1663, 'volume': 4.0} | asctime='2026-05-30 21:38:18'
2026-05-30 21:38:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 38, 18, 546000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 21:38:18'
2026-05-30 21:38:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 38, 19, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 21:38:19'
2026-05-30 21:39:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 39, 4, 123367, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16546, 'low': 1.16527, 'close': 1.16546, 'volume': 2.0} | asctime='2026-05-30 21:39:04'
2026-05-30 21:39:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 39, 4, 124299, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16659, 'low': 1.16636, 'close': 1.16636, 'volume': 2.0} | asctime='2026-05-30 21:39:04'
2026-05-30 21:39:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 39, 4, 228000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 21:39:04'
2026-05-30 21:39:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 39, 19, 622000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:39:19'
2026-05-30 21:39:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 39, 21, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 21:39:21'
2026-05-30 21:39:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 39, 23, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 21:39:23'
2026-05-30 21:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 1, 971944, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16514, 'close': 1.1652, 'volume': 4.0} | asctime='2026-05-30 21:40:01'
2026-05-30 21:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 1, 972645, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16676, 'low': 1.16635, 'close': 1.16676, 'volume': 4.0} | asctime='2026-05-30 21:40:01'
2026-05-30 21:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 1, 973464, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16533, 'high': 1.16546, 'low': 1.16489, 'close': 1.1652, 'volume': 19.0} | asctime='2026-05-30 21:40:01'
2026-05-30 21:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 1, 973908, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16623, 'high': 1.16676, 'low': 1.16609, 'close': 1.16676, 'volume': 19.0} | asctime='2026-05-30 21:40:01'
2026-05-30 21:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 2, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 21:40:01'
2026-05-30 21:40:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 33, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 21:40:33'
2026-05-30 21:40:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 34, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:40:34'
2026-05-30 21:40:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 36, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 21:40:36'
2026-05-30 21:40:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 38, 575000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 21:40:38'
2026-05-30 21:40:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 40, 40, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 21:40:39'
2026-05-30 21:41:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 41, 8, 421792, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16525, 'high': 1.16547, 'low': 1.16506, 'close': 1.16547, 'volume': 6.0} | asctime='2026-05-30 21:41:08'
2026-05-30 21:41:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 41, 8, 422526, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16662, 'low': 1.16637, 'close': 1.16637, 'volume': 6.0} | asctime='2026-05-30 21:41:08'
2026-05-30 21:41:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 41, 8, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 21:41:08'
2026-05-30 21:41:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 41, 9, 360000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 21:41:09'
2026-05-30 21:41:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 41, 10, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 21:41:10'
2026-05-30 21:41:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 41, 14, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 21:41:13'
2026-05-30 21:41:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 41, 20, 161000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 21:41:20'
2026-05-30 21:42:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 42, 34, 70342, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16553, 'low': 1.16515, 'close': 1.16553, 'volume': 5.0} | asctime='2026-05-30 21:42:34'
2026-05-30 21:42:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 42, 34, 72021, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16675, 'high': 1.16675, 'low': 1.16623, 'close': 1.16623, 'volume': 5.0} | asctime='2026-05-30 21:42:34'
2026-05-30 21:42:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 42, 34, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 21:42:34'
2026-05-30 21:42:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 42, 36, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:42:36'
2026-05-30 21:43:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 13, 670049, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16539, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 21:43:13'
2026-05-30 21:43:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 13, 671564, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16635, 'low': 1.16629, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 21:43:13'
2026-05-30 21:43:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 13, 751000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 21:43:13'
2026-05-30 21:43:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 14, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 21:43:14'
2026-05-30 21:43:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 14, 369000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 21:43:14'
2026-05-30 21:43:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 22, 563000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 21:43:22'
2026-05-30 21:43:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 24, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 21:43:23'
2026-05-30 21:43:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 26, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 21:43:26'
2026-05-30 21:43:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 50, 745000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:43:50'
2026-05-30 21:43:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 50, 866000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 21:43:50'
2026-05-30 21:43:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 52, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 21:43:52'
2026-05-30 21:43:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 55, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:43:54'
2026-05-30 21:43:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 43, 56, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 21:43:55'
2026-05-30 21:44:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 4, 69972, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16547, 'low': 1.16514, 'close': 1.16527, 'volume': 11.0} | asctime='2026-05-30 21:44:04'
2026-05-30 21:44:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 4, 70958, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16675, 'low': 1.16637, 'close': 1.16659, 'volume': 11.0} | asctime='2026-05-30 21:44:04'
2026-05-30 21:44:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 4, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.1656, 'volume': 0.0} | asctime='2026-05-30 21:44:04'
2026-05-30 21:44:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 8, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 21:44:08'
2026-05-30 21:44:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 10, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 21:44:10'
2026-05-30 21:44:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 11, 970000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 21:44:11'
2026-05-30 21:44:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 12, 715000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 21:44:12'
2026-05-30 21:44:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 13, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 21:44:13'
2026-05-30 21:44:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 14, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16607, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 21:44:13'
2026-05-30 21:44:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 22, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 21:44:22'
2026-05-30 21:44:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 24, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 21:44:24'
2026-05-30 21:44:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 24, 757000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 21:44:24'
2026-05-30 21:44:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 30, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 21:44:30'
2026-05-30 21:44:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 30, 716000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 21:44:30'
2026-05-30 21:44:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 32, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 21:44:31'
2026-05-30 21:44:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 42, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 21:44:42'
2026-05-30 21:44:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 51, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 21:44:50'
2026-05-30 21:44:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 52, 68000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:44:51'
2026-05-30 21:44:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 53, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 21:44:52'
2026-05-30 21:44:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 44, 55, 48000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16755, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 21:44:54'
2026-05-30 21:51:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 4, 16104, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1656, 'high': 1.1656, 'low': 1.16481, 'close': 1.16481, 'volume': 18.0} | asctime='2026-05-30 21:51:04'
2026-05-30 21:51:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 4, 18123, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16755, 'low': 1.16607, 'close': 1.16755, 'volume': 18.0} | asctime='2026-05-30 21:51:04'
2026-05-30 21:51:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 4, 19241, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16525, 'high': 1.1656, 'low': 1.16481, 'close': 1.16481, 'volume': 42.0} | asctime='2026-05-30 21:51:04'
2026-05-30 21:51:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 4, 19896, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16657, 'high': 1.16755, 'low': 1.16607, 'close': 1.16755, 'volume': 42.0} | asctime='2026-05-30 21:51:04'
2026-05-30 21:51:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 4, 20512, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16509, 'high': 1.1656, 'low': 1.16481, 'close': 1.16481, 'volume': 76.0} | asctime='2026-05-30 21:51:04'
2026-05-30 21:51:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 4, 21044, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16641, 'high': 1.16755, 'low': 1.16607, 'close': 1.16755, 'volume': 76.0} | asctime='2026-05-30 21:51:04'
2026-05-30 21:51:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 4, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:51:04'
2026-05-30 21:51:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 15, 415000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 21:51:15'
2026-05-30 21:51:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 34, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 21:51:34'
2026-05-30 21:51:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 34, 781000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16479, 'volume': 0.0} | asctime='2026-05-30 21:51:34'
2026-05-30 21:51:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 35, 526000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 21:51:35'
2026-05-30 21:51:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 51, 36, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 21:51:36'
2026-05-30 21:52:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 52, 55, 264893, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16541, 'low': 1.16479, 'close': 1.16541, 'volume': 6.0} | asctime='2026-05-30 21:52:55'
2026-05-30 21:52:55 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 52, 55, 265590, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16683, 'low': 1.16623, 'close': 1.16631, 'volume': 6.0} | asctime='2026-05-30 21:52:55'
2026-05-30 21:52:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 52, 55, 350000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 21:52:55'
2026-05-30 21:53:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 53, 18, 714403, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16536, 'low': 1.16536, 'close': 1.16536, 'volume': 1.0} | asctime='2026-05-30 21:53:18'
2026-05-30 21:53:18 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 53, 18, 715485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16626, 'low': 1.16626, 'close': 1.16626, 'volume': 1.0} | asctime='2026-05-30 21:53:18'
2026-05-30 21:53:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 53, 18, 814000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 21:53:18'
2026-05-30 21:53:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 53, 19, 309000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 21:53:19'
2026-05-30 21:53:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 53, 24, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 21:53:24'
2026-05-30 21:53:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 53, 28, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 21:53:28'
2026-05-30 21:53:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 53, 30, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:53:30'
2026-05-30 21:53:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 53, 45, 502000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 21:53:45'
2026-05-30 21:54:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 54, 0, 813836, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16539, 'low': 1.16503, 'close': 1.16509, 'volume': 6.0} | asctime='2026-05-30 21:54:00'
2026-05-30 21:54:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 54, 0, 815530, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16661, 'low': 1.16629, 'close': 1.16641, 'volume': 6.0} | asctime='2026-05-30 21:54:00'
2026-05-30 21:54:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 54, 0, 897000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 21:54:00'
2026-05-30 21:54:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 54, 2, 14000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 21:54:01'
2026-05-30 21:54:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 54, 4, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 21:54:04'
2026-05-30 21:54:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 54, 54, 652000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 21:54:54'
2026-05-30 21:54:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 54, 56, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 21:54:56'
2026-05-30 21:54:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 54, 59, 739000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 21:54:59'
2026-05-30 21:55:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 55, 2, 13132, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16557, 'low': 1.1651, 'close': 1.16531, 'volume': 6.0} | asctime='2026-05-30 21:55:02'
2026-05-30 21:55:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 55, 2, 13806, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16663, 'low': 1.16631, 'close': 1.16663, 'volume': 6.0} | asctime='2026-05-30 21:55:02'
2026-05-30 21:55:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 55, 2, 14512, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16557, 'low': 1.16479, 'close': 1.16531, 'volume': 19.0} | asctime='2026-05-30 21:55:02'
2026-05-30 21:55:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 55, 2, 15301, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16683, 'low': 1.16623, 'close': 1.16663, 'volume': 19.0} | asctime='2026-05-30 21:55:02'
2026-05-30 21:55:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 55, 2, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 21:55:02'
2026-05-30 21:55:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 55, 4, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 21:55:03'
2026-05-30 21:55:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 55, 5, 822000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 21:55:05'
2026-05-30 21:55:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 55, 8, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 21:55:07'
2026-05-30 21:55:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 55, 55, 727000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 21:55:55'
2026-05-30 21:57:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 57, 5, 511802, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16565, 'low': 1.1652, 'close': 1.1652, 'volume': 5.0} | asctime='2026-05-30 21:57:05'
2026-05-30 21:57:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 57, 5, 512738, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16668, 'high': 1.16668, 'low': 1.16635, 'close': 1.16652, 'volume': 5.0} | asctime='2026-05-30 21:57:05'
2026-05-30 21:57:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 57, 5, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 21:57:05'
2026-05-30 21:57:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 57, 5, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16486, 'volume': 0.0} | asctime='2026-05-30 21:57:05'
2026-05-30 21:57:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 57, 8, 597000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 21:57:08'
2026-05-30 21:57:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 57, 16, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 21:57:16'
2026-05-30 21:57:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 57, 29, 702000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 21:57:29'
2026-05-30 21:59:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 59, 32, 10615, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16535, 'low': 1.16486, 'close': 1.16535, 'volume': 5.0} | asctime='2026-05-30 21:59:32'
2026-05-30 21:59:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 59, 32, 11515, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16666, 'low': 1.1662, 'close': 1.16625, 'volume': 5.0} | asctime='2026-05-30 21:59:32'
2026-05-30 21:59:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 59, 32, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 21:59:32'
2026-05-30 21:59:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 59, 32, 226000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 21:59:32'
2026-05-30 21:59:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 59, 36, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 21:59:35'
2026-05-30 21:59:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 59, 40, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 21:59:40'
2026-05-30 21:59:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 59, 42, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 21:59:42'
2026-05-30 21:59:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 21, 59, 58, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16692, 'bid_price': 1.16488, 'volume': 0.0} | asctime='2026-05-30 21:59:57'
2026-05-30 22:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 0, 60368, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16488, 'close': 1.16488, 'volume': 6.0} | asctime='2026-05-30 22:00:00'
2026-05-30 22:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 0, 61025, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16692, 'low': 1.16629, 'close': 1.16692, 'volume': 6.0} | asctime='2026-05-30 22:00:00'
2026-05-30 22:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 0, 61400, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16536, 'high': 1.16565, 'low': 1.16486, 'close': 1.16488, 'volume': 16.0} | asctime='2026-05-30 22:00:00'
2026-05-30 22:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 0, 61783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16668, 'high': 1.16692, 'low': 1.1662, 'close': 1.16692, 'volume': 16.0} | asctime='2026-05-30 22:00:00'
2026-05-30 22:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 0, 62145, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16539, 'high': 1.16565, 'low': 1.16479, 'close': 1.16488, 'volume': 35.0} | asctime='2026-05-30 22:00:00'
2026-05-30 22:00:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 0, 62496, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16629, 'high': 1.16692, 'low': 1.1662, 'close': 1.16692, 'volume': 35.0} | asctime='2026-05-30 22:00:00'
2026-05-30 22:00:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 0, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 22:00:00'
2026-05-30 22:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 4, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 22:00:04'
2026-05-30 22:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 4, 379000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 22:00:04'
2026-05-30 22:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 4, 876000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 22:00:04'
2026-05-30 22:00:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 12, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16488, 'volume': 0.0} | asctime='2026-05-30 22:00:12'
2026-05-30 22:00:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 13, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 22:00:13'
2026-05-30 22:00:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 14, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 22:00:14'
2026-05-30 22:00:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 14, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 22:00:14'
2026-05-30 22:00:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 27, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16465, 'volume': 0.0} | asctime='2026-05-30 22:00:27'
2026-05-30 22:00:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 30, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16478, 'volume': 0.0} | asctime='2026-05-30 22:00:29'
2026-05-30 22:00:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 32, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 22:00:31'
2026-05-30 22:00:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 41, 374000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 22:00:41'
2026-05-30 22:00:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 48, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 22:00:48'
2026-05-30 22:00:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 53, 787000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 22:00:53'
2026-05-30 22:00:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 0, 54, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 22:00:54'
2026-05-30 22:01:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 1, 47, 559402, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16528, 'low': 1.16465, 'close': 1.16509, 'volume': 15.0} | asctime='2026-05-30 22:01:47'
2026-05-30 22:01:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 1, 47, 560648, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16669, 'high': 1.16693, 'low': 1.16611, 'close': 1.16641, 'volume': 15.0} | asctime='2026-05-30 22:01:47'
2026-05-30 22:01:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 1, 47, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 22:01:47'
2026-05-30 22:01:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 1, 47, 912000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 22:01:47'
2026-05-30 22:01:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 1, 50, 148000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16603, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 22:01:50'
2026-05-30 22:03:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 31, 207987, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16537, 'high': 1.16537, 'low': 1.16504, 'close': 1.16513, 'volume': 3.0} | asctime='2026-05-30 22:03:31'
2026-05-30 22:03:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 31, 209006, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16627, 'high': 1.16636, 'low': 1.16603, 'close': 1.16603, 'volume': 3.0} | asctime='2026-05-30 22:03:31'
2026-05-30 22:03:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 31, 292000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 22:03:31'
2026-05-30 22:03:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 32, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 22:03:32'
2026-05-30 22:03:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 33, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 22:03:33'
2026-05-30 22:03:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 35, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 22:03:35'
2026-05-30 22:03:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 37, 746000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:03:37'
2026-05-30 22:03:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 41, 347000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 22:03:41'
2026-05-30 22:03:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 43, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 22:03:42'
2026-05-30 22:03:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 51, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 22:03:51'
2026-05-30 22:03:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 51, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 22:03:51'
2026-05-30 22:03:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 52, 22000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 22:03:51'
2026-05-30 22:03:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 3, 55, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 22:03:55'
2026-05-30 22:04:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 4, 34, 857783, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16551, 'low': 1.16492, 'close': 1.16551, 'volume': 11.0} | asctime='2026-05-30 22:04:34'
2026-05-30 22:04:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 4, 34, 858617, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16663, 'high': 1.16668, 'low': 1.16628, 'close': 1.16641, 'volume': 11.0} | asctime='2026-05-30 22:04:34'
2026-05-30 22:04:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 4, 34, 976000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 22:04:34'
2026-05-30 22:04:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 4, 37, 85000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 22:04:36'
2026-05-30 22:04:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 4, 47, 886000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 22:04:47'
2026-05-30 22:04:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 4, 49, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16606, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 22:04:49'
2026-05-30 22:04:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 4, 56, 328000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:04:56'
2026-05-30 22:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 5, 1, 557413, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16549, 'low': 1.16506, 'close': 1.16506, 'volume': 5.0} | asctime='2026-05-30 22:05:01'
2026-05-30 22:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 5, 1, 558178, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16638, 'low': 1.16606, 'close': 1.16638, 'volume': 5.0} | asctime='2026-05-30 22:05:01'
2026-05-30 22:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 5, 1, 558651, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16513, 'high': 1.16551, 'low': 1.16465, 'close': 1.16506, 'volume': 34.0} | asctime='2026-05-30 22:05:01'
2026-05-30 22:05:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 5, 1, 559074, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16669, 'high': 1.16693, 'low': 1.16603, 'close': 1.16638, 'volume': 34.0} | asctime='2026-05-30 22:05:01'
2026-05-30 22:05:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 5, 1, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 22:05:01'
2026-05-30 22:05:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 5, 19, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:05:19'
2026-05-30 22:05:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 5, 23, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:05:23'
2026-05-30 22:06:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 6, 32, 906924, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16538, 'low': 1.16502, 'close': 1.16538, 'volume': 3.0} | asctime='2026-05-30 22:06:32'
2026-05-30 22:06:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 6, 32, 907851, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16628, 'close': 1.16628, 'volume': 3.0} | asctime='2026-05-30 22:06:32'
2026-05-30 22:06:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 6, 33, 35000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 22:06:32'
2026-05-30 22:06:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 6, 37, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 22:06:37'
2026-05-30 22:06:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 6, 43, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 22:06:42'
2026-05-30 22:06:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 6, 45, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 22:06:44'
2026-05-30 22:06:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 6, 45, 323000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 22:06:45'
2026-05-30 22:07:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 17, 505446, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.165, 'high': 1.16545, 'low': 1.165, 'close': 1.16542, 'volume': 5.0} | asctime='2026-05-30 22:07:17'
2026-05-30 22:07:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 17, 506453, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.1666, 'low': 1.16626, 'close': 1.16632, 'volume': 5.0} | asctime='2026-05-30 22:07:17'
2026-05-30 22:07:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 17, 601000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 22:07:17'
2026-05-30 22:07:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 21, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 22:07:20'
2026-05-30 22:07:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 23, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 22:07:22'
2026-05-30 22:07:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 29, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 22:07:29'
2026-05-30 22:07:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 29, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:07:29'
2026-05-30 22:07:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 31, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 22:07:31'
2026-05-30 22:07:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 35, 477000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:07:35'
2026-05-30 22:07:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 41, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 22:07:40'
2026-05-30 22:07:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 41, 315000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 22:07:41'
2026-05-30 22:07:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 43, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 22:07:43'
2026-05-30 22:07:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 46, 401000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 22:07:46'
2026-05-30 22:07:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 47, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 22:07:47'
2026-05-30 22:07:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 49, 628000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 22:07:49'
2026-05-30 22:07:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 50, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 22:07:50'
2026-05-30 22:07:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 51, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 22:07:51'
2026-05-30 22:07:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 57, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 22:07:57'
2026-05-30 22:07:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 7, 59, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 22:07:58'
2026-05-30 22:08:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 8, 12, 255553, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16558, 'low': 1.16502, 'close': 1.16535, 'volume': 17.0} | asctime='2026-05-30 22:08:12'
2026-05-30 22:08:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 8, 12, 256636, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16676, 'low': 1.16625, 'close': 1.16625, 'volume': 17.0} | asctime='2026-05-30 22:08:12'
2026-05-30 22:08:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 8, 12, 346000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:08:12'
2026-05-30 22:08:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 8, 12, 594000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 22:08:12'
2026-05-30 22:08:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 8, 13, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:08:13'
2026-05-30 22:08:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 8, 15, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 22:08:14'
2026-05-30 22:08:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 8, 19, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 22:08:18'
2026-05-30 22:08:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 8, 25, 10000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 22:08:24'
2026-05-30 22:08:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 8, 37, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 22:08:36'
2026-05-30 22:09:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 2, 5027, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16553, 'low': 1.16506, 'close': 1.16553, 'volume': 7.0} | asctime='2026-05-30 22:09:02'
2026-05-30 22:09:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 2, 6312, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16663, 'low': 1.16635, 'close': 1.16643, 'volume': 7.0} | asctime='2026-05-30 22:09:02'
2026-05-30 22:09:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 2, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 22:09:02'
2026-05-30 22:09:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 2, 376000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 22:09:02'
2026-05-30 22:09:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 3, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 22:09:03'
2026-05-30 22:09:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 4, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 22:09:04'
2026-05-30 22:09:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 4, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 22:09:04'
2026-05-30 22:09:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 5, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 22:09:05'
2026-05-30 22:09:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 7, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 22:09:07'
2026-05-30 22:09:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 11, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 22:09:11'
2026-05-30 22:09:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 21, 866000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 22:09:21'
2026-05-30 22:09:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 24, 846000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 22:09:24'
2026-05-30 22:09:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 26, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 22:09:25'
2026-05-30 22:09:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 30, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:09:29'
2026-05-30 22:09:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 34, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 22:09:34'
2026-05-30 22:09:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 37, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 22:09:37'
2026-05-30 22:09:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 9, 38, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:09:38'
2026-05-30 22:10:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 31, 154270, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16551, 'low': 1.16505, 'close': 1.16538, 'volume': 15.0} | asctime='2026-05-30 22:10:31'
2026-05-30 22:10:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 31, 155026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16677, 'low': 1.16628, 'close': 1.16628, 'volume': 15.0} | asctime='2026-05-30 22:10:31'
2026-05-30 22:10:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 31, 155447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16502, 'high': 1.16558, 'low': 1.165, 'close': 1.16538, 'volume': 47.0} | asctime='2026-05-30 22:10:31'
2026-05-30 22:10:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 31, 156402, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16658, 'high': 1.16677, 'low': 1.16625, 'close': 1.16628, 'volume': 47.0} | asctime='2026-05-30 22:10:31'
2026-05-30 22:10:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 31, 265000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 22:10:31'
2026-05-30 22:10:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 32, 876000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 22:10:32'
2026-05-30 22:10:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 33, 123000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 22:10:33'
2026-05-30 22:10:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 48, 394000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 22:10:48'
2026-05-30 22:10:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 53, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 22:10:53'
2026-05-30 22:10:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 58, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 22:10:57'
2026-05-30 22:10:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 59, 953042, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16555, 'low': 1.16507, 'close': 1.16548, 'volume': 6.0} | asctime='2026-05-30 22:10:59'
2026-05-30 22:10:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 10, 59, 954760, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16663, 'low': 1.16629, 'close': 1.16638, 'volume': 6.0} | asctime='2026-05-30 22:10:59'
2026-05-30 22:10:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 11, 0, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 22:10:59'
2026-05-30 22:11:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 11, 2, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 22:11:01'
2026-05-30 22:11:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 11, 4, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 22:11:04'
2026-05-30 22:11:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 11, 11, 235000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 22:11:11'
2026-05-30 22:11:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 11, 11, 731000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 22:11:11'
2026-05-30 22:11:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 11, 19, 428000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 22:11:19'
2026-05-30 22:12:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 12, 17, 52143, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16519, 'low': 1.16493, 'close': 1.16493, 'volume': 6.0} | asctime='2026-05-30 22:12:17'
2026-05-30 22:12:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 12, 17, 55557, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16667, 'low': 1.16649, 'close': 1.16649, 'volume': 6.0} | asctime='2026-05-30 22:12:17'
2026-05-30 22:12:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 12, 17, 156000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 22:12:17'
2026-05-30 22:13:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 13, 16, 752182, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16519, 'high': 1.16519, 'low': 1.16519, 'close': 1.16519, 'volume': 1.0} | asctime='2026-05-30 22:13:16'
2026-05-30 22:13:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 13, 16, 753123, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16651, 'low': 1.16651, 'close': 1.16651, 'volume': 1.0} | asctime='2026-05-30 22:13:16'
2026-05-30 22:13:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 13, 16, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 22:13:16'
2026-05-30 22:13:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 13, 17, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 22:13:17'
2026-05-30 22:14:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 14, 47, 1135, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16495, 'high': 1.16508, 'low': 1.16495, 'close': 1.16508, 'volume': 2.0} | asctime='2026-05-30 22:14:47'
2026-05-30 22:14:47 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 14, 47, 2321, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16651, 'low': 1.1664, 'close': 1.1664, 'volume': 2.0} | asctime='2026-05-30 22:14:47'
2026-05-30 22:14:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 14, 47, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 22:14:47'
2026-05-30 22:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 1, 151063, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16539, 'close': 1.16539, 'volume': 1.0} | asctime='2026-05-30 22:15:01'
2026-05-30 22:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 1, 152115, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16629, 'low': 1.16629, 'close': 1.16629, 'volume': 1.0} | asctime='2026-05-30 22:15:01'
2026-05-30 22:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 1, 153790, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16555, 'low': 1.16493, 'close': 1.16539, 'volume': 16.0} | asctime='2026-05-30 22:15:01'
2026-05-30 22:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 1, 154811, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16667, 'low': 1.16629, 'close': 1.16629, 'volume': 16.0} | asctime='2026-05-30 22:15:01'
2026-05-30 22:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 1, 155650, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16513, 'high': 1.16558, 'low': 1.16465, 'close': 1.16539, 'volume': 97.0} | asctime='2026-05-30 22:15:01'
2026-05-30 22:15:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 1, 156487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16669, 'high': 1.16693, 'low': 1.16603, 'close': 1.16629, 'volume': 97.0} | asctime='2026-05-30 22:15:01'
2026-05-30 22:15:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 1, 270000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 22:15:01'
2026-05-30 22:15:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 3, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 22:15:03'
2026-05-30 22:15:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 13, 683000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 22:15:13'
2026-05-30 22:15:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 27, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 22:15:27'
2026-05-30 22:15:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 15, 47, 200000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 22:15:47'
2026-05-30 22:16:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 16, 6, 979447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16545, 'low': 1.16495, 'close': 1.16495, 'volume': 5.0} | asctime='2026-05-30 22:16:06'
2026-05-30 22:16:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 16, 6, 980436, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16675, 'low': 1.16635, 'close': 1.16675, 'volume': 5.0} | asctime='2026-05-30 22:16:06'
2026-05-30 22:16:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 16, 7, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 22:16:06'
2026-05-30 22:16:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 16, 9, 173000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 22:16:09'
2026-05-30 22:16:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 16, 15, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 22:16:15'
2026-05-30 22:16:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 16, 17, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 22:16:17'
2026-05-30 22:16:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 16, 26, 925000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 22:16:26'
2026-05-30 22:16:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 16, 27, 669000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 22:16:27'
2026-05-30 22:16:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 16, 31, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:16:31'
2026-05-30 22:17:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 8, 459481, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16545, 'low': 1.16495, 'close': 1.16526, 'volume': 7.0} | asctime='2026-05-30 22:17:08'
2026-05-30 22:17:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 8, 461206, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16651, 'low': 1.16609, 'close': 1.16616, 'volume': 7.0} | asctime='2026-05-30 22:17:08'
2026-05-30 22:17:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 8, 513000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 22:17:08'
2026-05-30 22:17:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 8, 636000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 22:17:08'
2026-05-30 22:17:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 9, 877000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 22:17:09'
2026-05-30 22:17:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 11, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 22:17:11'
2026-05-30 22:17:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 13, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 22:17:13'
2026-05-30 22:17:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 27, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 22:17:27'
2026-05-30 22:17:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 28, 748000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 22:17:28'
2026-05-30 22:17:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 29, 120000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 22:17:29'
2026-05-30 22:17:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 44, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 22:17:44'
2026-05-30 22:17:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 17, 51, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 22:17:51'
2026-05-30 22:18:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 18, 1, 385466, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16553, 'low': 1.16493, 'close': 1.16553, 'volume': 10.0} | asctime='2026-05-30 22:18:01'
2026-05-30 22:18:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 18, 1, 386193, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16663, 'low': 1.16612, 'close': 1.16623, 'volume': 10.0} | asctime='2026-05-30 22:18:01'
2026-05-30 22:18:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 18, 1, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 22:18:01'
2026-05-30 22:18:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 18, 1, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 22:18:01'
2026-05-30 22:18:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 18, 3, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 22:18:03'
2026-05-30 22:18:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 18, 14, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:18:14'
2026-05-30 22:18:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 18, 14, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 22:18:14'
2026-05-30 22:19:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 25, 325998, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16555, 'low': 1.16525, 'close': 1.16539, 'volume': 5.0} | asctime='2026-05-30 22:19:25'
2026-05-30 22:19:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 25, 327617, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16658, 'low': 1.16629, 'close': 1.16629, 'volume': 5.0} | asctime='2026-05-30 22:19:25'
2026-05-30 22:19:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 25, 318000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 22:19:25'
2026-05-30 22:19:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 27, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16555, 'volume': 0.0} | asctime='2026-05-30 22:19:27'
2026-05-30 22:19:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 31, 274000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 22:19:31'
2026-05-30 22:19:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 40, 338000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 22:19:40'
2026-05-30 22:19:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 43, 193000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16573, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 22:19:43'
2026-05-30 22:19:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 49, 152000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16579, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 22:19:49'
2026-05-30 22:19:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 51, 510000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16577, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 22:19:51'
2026-05-30 22:19:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 51, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16574, 'bid_price': 1.16484, 'volume': 0.0} | asctime='2026-05-30 22:19:51'
2026-05-30 22:19:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 52, 627000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16582, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 22:19:52'
2026-05-30 22:19:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 52, 750000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1657, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 22:19:52'
2026-05-30 22:19:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 55, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16575, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 22:19:55'
2026-05-30 22:19:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 56, 351000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16573, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 22:19:56'
2026-05-30 22:19:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 56, 848000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16569, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 22:19:56'
2026-05-30 22:19:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 19, 58, 462000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16582, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 22:19:58'
2026-05-30 22:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 20, 3, 861747, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16555, 'low': 1.16484, 'close': 1.16532, 'volume': 14.0} | asctime='2026-05-30 22:20:03'
2026-05-30 22:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 20, 3, 862639, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.1669, 'low': 1.16569, 'close': 1.16582, 'volume': 14.0} | asctime='2026-05-30 22:20:03'
2026-05-30 22:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 20, 3, 864117, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16513, 'high': 1.16555, 'low': 1.16484, 'close': 1.16532, 'volume': 41.0} | asctime='2026-05-30 22:20:03'
2026-05-30 22:20:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 20, 3, 865844, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16645, 'high': 1.1669, 'low': 1.16569, 'close': 1.16582, 'volume': 41.0} | asctime='2026-05-30 22:20:03'
2026-05-30 22:20:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 20, 3, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16572, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 22:20:03'
2026-05-30 22:20:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 20, 15, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16582, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 22:20:15'
2026-05-30 22:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 20, 57, 802000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16578, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 22:20:57'
2026-05-30 22:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 20, 57, 924000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16574, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 22:20:57'
2026-05-30 22:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 1, 323466, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16532, 'low': 1.16502, 'close': 1.16524, 'volume': 4.0} | asctime='2026-05-30 22:21:01'
2026-05-30 22:21:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 1, 324326, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16572, 'high': 1.16582, 'low': 1.16572, 'close': 1.16574, 'volume': 4.0} | asctime='2026-05-30 22:21:01'
2026-05-30 22:21:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 1, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16576, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:21:01'
2026-05-30 22:21:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 2, 21000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16571, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 22:21:02'
2026-05-30 22:21:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 2, 767000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16571, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 22:21:02'
2026-05-30 22:21:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 3, 138000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16575, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 22:21:03'
2026-05-30 22:21:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 5, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16582, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 22:21:05'
2026-05-30 22:21:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 22, 753000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16579, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 22:21:22'
2026-05-30 22:21:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 23, 125000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 22:21:23'
2026-05-30 22:21:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 30, 574000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 22:21:30'
2026-05-30 22:21:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 33, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:21:33'
2026-05-30 22:21:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 43, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 22:21:43'
2026-05-30 22:21:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 45, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 22:21:45'
2026-05-30 22:21:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 56, 892000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 22:21:57'
2026-05-30 22:21:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 57, 388000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 22:21:57'
2026-05-30 22:21:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 21, 59, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 22:21:59'
2026-05-30 22:22:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 22, 35, 965013, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16561, 'low': 1.16501, 'close': 1.16539, 'volume': 14.0} | asctime='2026-05-30 22:22:35'
2026-05-30 22:22:35 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 22, 35, 992041, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16576, 'high': 1.16674, 'low': 1.16571, 'close': 1.16671, 'volume': 14.0} | asctime='2026-05-30 22:22:35'
2026-05-30 22:22:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 22, 35, 874000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 22:22:35'
2026-05-30 22:22:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 22, 37, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 22:22:37'
2026-05-30 22:22:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 22, 39, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 22:22:39'
2026-05-30 22:23:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 23, 33, 214172, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16521, 'low': 1.16515, 'close': 1.16517, 'volume': 3.0} | asctime='2026-05-30 22:23:33'
2026-05-30 22:23:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 23, 33, 214884, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16671, 'high': 1.16671, 'low': 1.16649, 'close': 1.16649, 'volume': 3.0} | asctime='2026-05-30 22:23:33'
2026-05-30 22:23:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 23, 33, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 22:23:33'
2026-05-30 22:24:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 29, 213803, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16542, 'high': 1.16542, 'low': 1.16542, 'close': 1.16542, 'volume': 1.0} | asctime='2026-05-30 22:24:29'
2026-05-30 22:24:29 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 29, 214882, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16632, 'low': 1.16632, 'close': 1.16632, 'volume': 1.0} | asctime='2026-05-30 22:24:29'
2026-05-30 22:24:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 29, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:24:29'
2026-05-30 22:24:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 34, 178000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 22:24:34'
2026-05-30 22:24:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 34, 798000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 22:24:34'
2026-05-30 22:24:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 37, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 22:24:37'
2026-05-30 22:24:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 37, 778000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:24:37'
2026-05-30 22:24:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 39, 143000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 22:24:39'
2026-05-30 22:24:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 55, 903000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 22:24:56'
2026-05-30 22:24:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 58, 760000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 22:24:58'
2026-05-30 22:24:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 59, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 22:24:59'
2026-05-30 22:24:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 59, 378000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 22:24:59'
2026-05-30 22:24:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 24, 59, 875000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 22:24:59'
2026-05-30 22:25:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 1, 212920, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16548, 'low': 1.16501, 'close': 1.16511, 'volume': 11.0} | asctime='2026-05-30 22:25:01'
2026-05-30 22:25:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 1, 214625, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16672, 'low': 1.16628, 'close': 1.16667, 'volume': 11.0} | asctime='2026-05-30 22:25:01'
2026-05-30 22:25:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 1, 215771, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16502, 'high': 1.16561, 'low': 1.16501, 'close': 1.16511, 'volume': 33.0} | asctime='2026-05-30 22:25:01'
2026-05-30 22:25:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 1, 216847, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16572, 'high': 1.16674, 'low': 1.16571, 'close': 1.16667, 'volume': 33.0} | asctime='2026-05-30 22:25:01'
2026-05-30 22:25:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 1, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 22:25:01'
2026-05-30 22:25:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 3, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 22:25:03'
2026-05-30 22:25:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 3, 475000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 22:25:03'
2026-05-30 22:25:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 3, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 22:25:03'
2026-05-30 22:25:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 3, 724000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 22:25:03'
2026-05-30 22:25:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 4, 345000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 22:25:04'
2026-05-30 22:25:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 5, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 22:25:05'
2026-05-30 22:25:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 25, 7, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 22:25:07'
2026-05-30 22:26:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 26, 37, 661945, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16553, 'low': 1.1651, 'close': 1.16522, 'volume': 8.0} | asctime='2026-05-30 22:26:37'
2026-05-30 22:26:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 26, 37, 663118, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.1666, 'low': 1.16612, 'close': 1.16612, 'volume': 8.0} | asctime='2026-05-30 22:26:37'
2026-05-30 22:26:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 26, 37, 575000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 22:26:37'
2026-05-30 22:26:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 26, 37, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 22:26:37'
2026-05-30 22:26:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 26, 39, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 22:26:39'
2026-05-30 22:26:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 26, 41, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 22:26:41'
2026-05-30 22:27:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 27, 13, 411862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1649, 'high': 1.16496, 'low': 1.16481, 'close': 1.16496, 'volume': 4.0} | asctime='2026-05-30 22:27:13'
2026-05-30 22:27:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 27, 13, 412652, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16661, 'low': 1.16628, 'close': 1.16628, 'volume': 4.0} | asctime='2026-05-30 22:27:13'
2026-05-30 22:27:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 27, 13, 329000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 22:27:13'
2026-05-30 22:27:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 27, 15, 65000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 22:27:15'
2026-05-30 22:28:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 28, 58, 461331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16497, 'high': 1.16499, 'low': 1.16497, 'close': 1.16499, 'volume': 2.0} | asctime='2026-05-30 22:28:58'
2026-05-30 22:28:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 28, 58, 462351, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16653, 'high': 1.16655, 'low': 1.16653, 'close': 1.16655, 'volume': 2.0} | asctime='2026-05-30 22:28:58'
2026-05-30 22:28:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 28, 58, 352000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 22:28:58'
2026-05-30 22:28:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 28, 59, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:28:59'
2026-05-30 22:29:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 29, 13, 210888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16495, 'high': 1.16526, 'low': 1.16495, 'close': 1.16526, 'volume': 2.0} | asctime='2026-05-30 22:29:13'
2026-05-30 22:29:13 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 29, 13, 211618, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16651, 'high': 1.16658, 'low': 1.16651, 'close': 1.16658, 'volume': 2.0} | asctime='2026-05-30 22:29:13'
2026-05-30 22:29:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 29, 13, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:29:13'
2026-05-30 22:29:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 29, 42, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 22:29:42'
2026-05-30 22:29:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 29, 53, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:29:53'
2026-05-30 22:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 29, 58, 435000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 22:29:58'
2026-05-30 22:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 29, 59, 179000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16685, 'bid_price': 1.16481, 'volume': 0.0} | asctime='2026-05-30 22:29:59'
2026-05-30 22:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 1, 260156, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16481, 'close': 1.16481, 'volume': 5.0} | asctime='2026-05-30 22:30:01'
2026-05-30 22:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 1, 261148, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16685, 'low': 1.16628, 'close': 1.16685, 'volume': 5.0} | asctime='2026-05-30 22:30:01'
2026-05-30 22:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 1, 262660, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16528, 'high': 1.16553, 'low': 1.16481, 'close': 1.16481, 'volume': 21.0} | asctime='2026-05-30 22:30:01'
2026-05-30 22:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 1, 264276, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1666, 'high': 1.16685, 'low': 1.16612, 'close': 1.16685, 'volume': 21.0} | asctime='2026-05-30 22:30:01'
2026-05-30 22:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 1, 264785, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16513, 'high': 1.16561, 'low': 1.16481, 'close': 1.16481, 'volume': 95.0} | asctime='2026-05-30 22:30:01'
2026-05-30 22:30:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 1, 266310, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16645, 'high': 1.1669, 'low': 1.16569, 'close': 1.16685, 'volume': 95.0} | asctime='2026-05-30 22:30:01'
2026-05-30 22:30:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 1, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:30:01'
2026-05-30 22:30:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 2, 35000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:30:02'
2026-05-30 22:30:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 7, 869000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 22:30:07'
2026-05-30 22:30:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 8, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 22:30:08'
2026-05-30 22:30:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 9, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 22:30:09'
2026-05-30 22:30:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 11, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 22:30:11'
2026-05-30 22:30:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 55, 913000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 22:30:56'
2026-05-30 22:30:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 56, 36000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 22:30:56'
2026-05-30 22:30:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 56, 411000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 22:30:56'
2026-05-30 22:30:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 30, 57, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:30:57'
2026-05-30 22:31:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 16, 609384, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16538, 'low': 1.16493, 'close': 1.16526, 'volume': 10.0} | asctime='2026-05-30 22:31:16'
2026-05-30 22:31:16 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 16, 610534, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16609, 'close': 1.16658, 'volume': 10.0} | asctime='2026-05-30 22:31:16'
2026-05-30 22:31:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 16, 520000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 22:31:16'
2026-05-30 22:31:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 17, 16000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:31:17'
2026-05-30 22:31:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 23, 970000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 22:31:24'
2026-05-30 22:31:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 25, 334000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 22:31:25'
2026-05-30 22:31:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 29, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 22:31:29'
2026-05-30 22:31:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 30, 424000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 22:31:30'
2026-05-30 22:31:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 55, 873000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 22:31:55'
2026-05-30 22:31:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 31, 57, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 22:31:57'
2026-05-30 22:33:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 10, 808814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16543, 'low': 1.16522, 'close': 1.16539, 'volume': 8.0} | asctime='2026-05-30 22:33:10'
2026-05-30 22:33:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 10, 810855, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16656, 'low': 1.16625, 'close': 1.16629, 'volume': 8.0} | asctime='2026-05-30 22:33:10'
2026-05-30 22:33:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 10, 732000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 22:33:10'
2026-05-30 22:33:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 18, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 22:33:18'
2026-05-30 22:33:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 18, 922000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 22:33:19'
2026-05-30 22:33:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 20, 537000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 22:33:20'
2026-05-30 22:33:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 20, 660000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 22:33:20'
2026-05-30 22:33:20 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 20, 785000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 22:33:20'
2026-05-30 22:33:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 22, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 22:33:22'
2026-05-30 22:33:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 23, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 22:33:23'
2026-05-30 22:33:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 25, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 22:33:25'
2026-05-30 22:33:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 27, 488000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 22:33:27'
2026-05-30 22:33:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 29, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 22:33:29'
2026-05-30 22:33:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 35, 61000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 22:33:35'
2026-05-30 22:33:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 39, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:33:39'
2026-05-30 22:33:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 33, 57, 283000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 22:33:57'
2026-05-30 22:34:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 34, 14, 258595, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16545, 'high': 1.16545, 'low': 1.16501, 'close': 1.16527, 'volume': 14.0} | asctime='2026-05-30 22:34:14'
2026-05-30 22:34:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 34, 14, 259664, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16635, 'high': 1.16665, 'low': 1.16626, 'close': 1.16659, 'volume': 14.0} | asctime='2026-05-30 22:34:14'
2026-05-30 22:34:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 34, 14, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 22:34:14'
2026-05-30 22:34:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 34, 25, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 22:34:25'
2026-05-30 22:34:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 34, 50, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 22:34:50'
2026-05-30 22:35:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 35, 26, 7390, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16551, 'low': 1.16523, 'close': 1.16545, 'volume': 3.0} | asctime='2026-05-30 22:35:26'
2026-05-30 22:35:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 35, 26, 9048, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16655, 'low': 1.16635, 'close': 1.16635, 'volume': 3.0} | asctime='2026-05-30 22:35:26'
2026-05-30 22:35:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 35, 26, 9986, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16526, 'high': 1.16551, 'low': 1.16493, 'close': 1.16545, 'volume': 35.0} | asctime='2026-05-30 22:35:26'
2026-05-30 22:35:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 35, 26, 10851, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16609, 'close': 1.16635, 'volume': 35.0} | asctime='2026-05-30 22:35:26'
2026-05-30 22:35:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 35, 25, 920000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 22:35:26'
2026-05-30 22:35:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 35, 28, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:35:28'
2026-05-30 22:35:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 35, 30, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 22:35:30'
2026-05-30 22:35:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 35, 58, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 22:35:58'
2026-05-30 22:36:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 36, 5, 507003, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16517, 'high': 1.16538, 'low': 1.16517, 'close': 1.16535, 'volume': 4.0} | asctime='2026-05-30 22:36:05'
2026-05-30 22:36:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 36, 5, 508641, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16649, 'high': 1.16649, 'low': 1.16623, 'close': 1.16625, 'volume': 4.0} | asctime='2026-05-30 22:36:05'
2026-05-30 22:36:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 36, 5, 395000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:36:05'
2026-05-30 22:36:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 36, 44, 997000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 22:36:45'
2026-05-30 22:36:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 36, 46, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 22:36:46'
2026-05-30 22:36:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 36, 47, 355000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 22:36:47'
2026-05-30 22:36:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 36, 52, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 22:36:52'
2026-05-30 22:36:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 36, 56, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 22:36:56'
2026-05-30 22:37:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 37, 28, 806063, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.1655, 'low': 1.16518, 'close': 1.16541, 'volume': 6.0} | asctime='2026-05-30 22:37:28'
2026-05-30 22:37:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 37, 28, 807111, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16675, 'low': 1.16628, 'close': 1.16631, 'volume': 6.0} | asctime='2026-05-30 22:37:28'
2026-05-30 22:37:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 37, 28, 694000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 22:37:28'
2026-05-30 22:37:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 37, 32, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 22:37:32'
2026-05-30 22:37:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 37, 48, 558000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 22:37:48'
2026-05-30 22:37:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 37, 54, 888000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 22:37:54'
2026-05-30 22:37:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 37, 55, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 22:37:55'
2026-05-30 22:38:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 0, 205674, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16518, 'high': 1.16529, 'low': 1.16498, 'close': 1.16498, 'volume': 5.0} | asctime='2026-05-30 22:38:00'
2026-05-30 22:38:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 0, 206686, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1665, 'high': 1.16658, 'low': 1.16619, 'close': 1.16654, 'volume': 5.0} | asctime='2026-05-30 22:38:00'
2026-05-30 22:38:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 0, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 22:38:00'
2026-05-30 22:38:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 0, 723000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 22:38:00'
2026-05-30 22:38:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 12, 516000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 22:38:12'
2026-05-30 22:38:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 12, 639000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 22:38:12'
2026-05-30 22:38:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 12, 887000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16676, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 22:38:12'
2026-05-30 22:38:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 13, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 22:38:13'
2026-05-30 22:38:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 13, 259000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:38:13'
2026-05-30 22:38:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 14, 129000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 22:38:14'
2026-05-30 22:38:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 15, 619000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 22:38:15'
2026-05-30 22:38:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 25, 426000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 22:38:25'
2026-05-30 22:38:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 30, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:38:30'
2026-05-30 22:38:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 45, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 22:38:45'
2026-05-30 22:38:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 45, 288000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 22:38:45'
2026-05-30 22:38:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 38, 56, 89000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 22:38:56'
2026-05-30 22:39:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 39, 1, 405030, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16511, 'high': 1.16544, 'low': 1.16496, 'close': 1.16532, 'volume': 14.0} | asctime='2026-05-30 22:39:01'
2026-05-30 22:39:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 39, 1, 406011, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16643, 'high': 1.16676, 'low': 1.16622, 'close': 1.16622, 'volume': 14.0} | asctime='2026-05-30 22:39:01'
2026-05-30 22:39:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 39, 1, 304000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 22:39:01'
2026-05-30 22:39:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 39, 13, 96000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16611, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 22:39:13'
2026-05-30 22:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 39, 57, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 22:39:57'
2026-05-30 22:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 1, 104932, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16521, 'low': 1.16509, 'close': 1.16514, 'volume': 3.0} | asctime='2026-05-30 22:40:01'
2026-05-30 22:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 1, 105888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16646, 'low': 1.16611, 'close': 1.16646, 'volume': 3.0} | asctime='2026-05-30 22:40:01'
2026-05-30 22:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 1, 107285, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16517, 'high': 1.1655, 'low': 1.16496, 'close': 1.16514, 'volume': 32.0} | asctime='2026-05-30 22:40:01'
2026-05-30 22:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 1, 108448, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16649, 'high': 1.16676, 'low': 1.16611, 'close': 1.16646, 'volume': 32.0} | asctime='2026-05-30 22:40:01'
2026-05-30 22:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 1, 15000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 22:40:01'
2026-05-30 22:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 1, 391000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 22:40:01'
2026-05-30 22:40:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 2, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 22:40:02'
2026-05-30 22:40:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 3, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 22:40:03'
2026-05-30 22:40:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 4, 987000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 22:40:05'
2026-05-30 22:40:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 5, 110000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:40:05'
2026-05-30 22:40:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 7, 718000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 22:40:07'
2026-05-30 22:40:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 7, 966000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 22:40:08'
2026-05-30 22:40:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 9, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 22:40:09'
2026-05-30 22:40:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 15, 539000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 22:40:15'
2026-05-30 22:40:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 17, 153000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 22:40:17'
2026-05-30 22:40:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 19, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16487, 'volume': 0.0} | asctime='2026-05-30 22:40:19'
2026-05-30 22:40:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 21, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 22:40:21'
2026-05-30 22:40:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 22, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 22:40:22'
2026-05-30 22:40:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 23, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 22:40:23'
2026-05-30 22:40:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 40, 25, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 22:40:25'
2026-05-30 22:41:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 41, 39, 804731, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16496, 'high': 1.16541, 'low': 1.16487, 'close': 1.16539, 'volume': 16.0} | asctime='2026-05-30 22:41:39'
2026-05-30 22:41:39 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 41, 39, 805449, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16664, 'low': 1.16629, 'close': 1.16629, 'volume': 16.0} | asctime='2026-05-30 22:41:39'
2026-05-30 22:41:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 41, 39, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:41:39'
2026-05-30 22:41:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 41, 44, 796000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 22:41:44'
2026-05-30 22:41:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 41, 49, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:41:49'
2026-05-30 22:41:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 41, 53, 983000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 22:41:54'
2026-05-30 22:43:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 43, 23, 202407, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16541, 'low': 1.16506, 'close': 1.16541, 'volume': 4.0} | asctime='2026-05-30 22:43:23'
2026-05-30 22:43:23 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 43, 23, 203177, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16638, 'high': 1.16664, 'low': 1.16631, 'close': 1.16631, 'volume': 4.0} | asctime='2026-05-30 22:43:23'
2026-05-30 22:43:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 43, 23, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:43:23'
2026-05-30 22:44:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 44, 4, 52468, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16538, 'close': 1.16538, 'volume': 1.0} | asctime='2026-05-30 22:44:04'
2026-05-30 22:44:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 44, 4, 53198, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16628, 'close': 1.16628, 'volume': 1.0} | asctime='2026-05-30 22:44:04'
2026-05-30 22:44:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 44, 3, 960000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 22:44:04'
2026-05-30 22:44:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 44, 4, 330000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 22:44:04'
2026-05-30 22:44:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 44, 5, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 22:44:05'
2026-05-30 22:44:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 44, 5, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:44:05'
2026-05-30 22:44:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 44, 34, 995000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:44:35'
2026-05-30 22:44:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 44, 37, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 22:44:37'
2026-05-30 22:46:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 1, 574110, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16535, 'high': 1.16538, 'low': 1.16506, 'close': 1.16511, 'volume': 6.0} | asctime='2026-05-30 22:46:01'
2026-05-30 22:46:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 1, 577038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16625, 'high': 1.16663, 'low': 1.16625, 'close': 1.16643, 'volume': 6.0} | asctime='2026-05-30 22:46:01'
2026-05-30 22:46:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 1, 578750, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16496, 'high': 1.16541, 'low': 1.16487, 'close': 1.16511, 'volume': 27.0} | asctime='2026-05-30 22:46:01'
2026-05-30 22:46:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 1, 579659, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16652, 'high': 1.16664, 'low': 1.16625, 'close': 1.16643, 'volume': 27.0} | asctime='2026-05-30 22:46:01'
2026-05-30 22:46:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 1, 580671, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16526, 'high': 1.16551, 'low': 1.16487, 'close': 1.16511, 'volume': 94.0} | asctime='2026-05-30 22:46:01'
2026-05-30 22:46:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 1, 581437, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16682, 'high': 1.16682, 'low': 1.16609, 'close': 1.16643, 'volume': 94.0} | asctime='2026-05-30 22:46:01'
2026-05-30 22:46:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 1, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 22:46:01'
2026-05-30 22:46:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 2, 17000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 22:46:02'
2026-05-30 22:46:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 10, 955000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 22:46:11'
2026-05-30 22:46:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 11, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 22:46:11'
2026-05-30 22:46:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 46, 39, 632000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 22:46:39'
2026-05-30 22:47:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 2, 550814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16543, 'low': 1.16508, 'close': 1.16528, 'volume': 5.0} | asctime='2026-05-30 22:47:02'
2026-05-30 22:47:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 2, 551516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16674, 'low': 1.16633, 'close': 1.1666, 'volume': 5.0} | asctime='2026-05-30 22:47:02'
2026-05-30 22:47:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 2, 474000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:47:02'
2026-05-30 22:47:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 2, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 22:47:02'
2026-05-30 22:47:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 5, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 22:47:05'
2026-05-30 22:47:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 7, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 22:47:07'
2026-05-30 22:47:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 22, 833000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:47:22'
2026-05-30 22:47:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 24, 445000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 22:47:24'
2026-05-30 22:47:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 25, 66000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 22:47:25'
2026-05-30 22:47:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 25, 438000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 22:47:25'
2026-05-30 22:47:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 47, 30, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:47:30'
2026-05-30 22:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 48, 2, 899917, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16506, 'high': 1.16529, 'low': 1.16498, 'close': 1.16526, 'volume': 9.0} | asctime='2026-05-30 22:48:02'
2026-05-30 22:48:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 48, 2, 901771, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16662, 'high': 1.16662, 'low': 1.1663, 'close': 1.16658, 'volume': 9.0} | asctime='2026-05-30 22:48:02'
2026-05-30 22:48:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 48, 2, 805000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 22:48:02'
2026-05-30 22:48:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 48, 3, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 22:48:03'
2026-05-30 22:48:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 48, 5, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16556, 'volume': 0.0} | asctime='2026-05-30 22:48:05'
2026-05-30 22:49:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 49, 57, 499228, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16556, 'low': 1.16524, 'close': 1.16556, 'volume': 3.0} | asctime='2026-05-30 22:49:57'
2026-05-30 22:49:57 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 49, 57, 499967, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16683, 'high': 1.16683, 'low': 1.16646, 'close': 1.16646, 'volume': 3.0} | asctime='2026-05-30 22:49:57'
2026-05-30 22:49:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 49, 57, 391000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 22:49:57'
2026-05-30 22:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 50, 1, 199009, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16524, 'low': 1.16524, 'close': 1.16524, 'volume': 1.0} | asctime='2026-05-30 22:50:01'
2026-05-30 22:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 50, 1, 200393, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16656, 'close': 1.16656, 'volume': 1.0} | asctime='2026-05-30 22:50:01'
2026-05-30 22:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 50, 1, 202405, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16514, 'high': 1.16556, 'low': 1.16498, 'close': 1.16524, 'volume': 18.0} | asctime='2026-05-30 22:50:01'
2026-05-30 22:50:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 50, 1, 203490, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16646, 'high': 1.16683, 'low': 1.1663, 'close': 1.16656, 'volume': 18.0} | asctime='2026-05-30 22:50:01'
2026-05-30 22:50:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 50, 1, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 22:50:01'
2026-05-30 22:50:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 50, 8, 311000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 22:50:08'
2026-05-30 22:50:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 50, 33, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 22:50:33'
2026-05-30 22:50:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 50, 33, 388000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 22:50:33'
2026-05-30 22:51:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 51, 31, 197424, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16539, 'low': 1.16507, 'close': 1.16517, 'volume': 4.0} | asctime='2026-05-30 22:51:31'
2026-05-30 22:51:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 51, 31, 198277, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16649, 'low': 1.16623, 'close': 1.16649, 'volume': 4.0} | asctime='2026-05-30 22:51:31'
2026-05-30 22:51:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 51, 31, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 22:51:31'
2026-05-30 22:51:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 51, 53, 211000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 22:51:53'
2026-05-30 22:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 51, 55, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 22:51:55'
2026-05-30 22:51:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 51, 55, 196000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 22:51:55'
2026-05-30 22:51:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 51, 57, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 22:51:57'
2026-05-30 22:51:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 51, 59, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 22:51:59'
2026-05-30 22:52:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 52, 3, 347575, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16547, 'low': 1.1651, 'close': 1.1654, 'volume': 6.0} | asctime='2026-05-30 22:52:03'
2026-05-30 22:52:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 52, 3, 348582, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16622, 'high': 1.16667, 'low': 1.16622, 'close': 1.1663, 'volume': 6.0} | asctime='2026-05-30 22:52:03'
2026-05-30 22:52:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 52, 3, 267000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 22:52:03'
2026-05-30 22:52:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 52, 13, 74000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16613, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 22:52:13'
2026-05-30 22:52:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 52, 31, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 22:52:31'
2026-05-30 22:54:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 54, 27, 96054, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16532, 'low': 1.16523, 'close': 1.16525, 'volume': 3.0} | asctime='2026-05-30 22:54:27'
2026-05-30 22:54:27 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 54, 27, 97077, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16622, 'high': 1.16622, 'low': 1.16613, 'close': 1.16615, 'volume': 3.0} | asctime='2026-05-30 22:54:27'
2026-05-30 22:54:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 54, 27, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 22:54:27'
2026-05-30 22:54:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 54, 39, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 22:54:39'
2026-05-30 22:54:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 54, 39, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 22:54:39'
2026-05-30 22:54:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 54, 42, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 22:54:42'
2026-05-30 22:55:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 55, 31, 545038, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16533, 'high': 1.16539, 'low': 1.16532, 'close': 1.16532, 'volume': 4.0} | asctime='2026-05-30 22:55:31'
2026-05-30 22:55:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 55, 31, 546253, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16623, 'high': 1.16629, 'low': 1.16622, 'close': 1.16622, 'volume': 4.0} | asctime='2026-05-30 22:55:31'
2026-05-30 22:55:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 55, 31, 547672, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16539, 'high': 1.16547, 'low': 1.16507, 'close': 1.16532, 'volume': 17.0} | asctime='2026-05-30 22:55:31'
2026-05-30 22:55:31 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 55, 31, 548195, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16629, 'high': 1.16667, 'low': 1.16613, 'close': 1.16622, 'volume': 17.0} | asctime='2026-05-30 22:55:31'
2026-05-30 22:55:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 55, 31, 451000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16619, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 22:55:31'
2026-05-30 22:55:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 55, 33, 64000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 22:55:33'
2026-05-30 22:56:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 56, 59, 444048, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16535, 'low': 1.16529, 'close': 1.16535, 'volume': 2.0} | asctime='2026-05-30 22:56:59'
2026-05-30 22:56:59 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 56, 59, 445930, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16619, 'high': 1.16625, 'low': 1.16619, 'close': 1.16625, 'volume': 2.0} | asctime='2026-05-30 22:56:59'
2026-05-30 22:56:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 56, 59, 343000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 22:56:59'
2026-05-30 22:57:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 57, 11, 444090, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16538, 'close': 1.16538, 'volume': 1.0} | asctime='2026-05-30 22:57:11'
2026-05-30 22:57:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 57, 11, 445125, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16628, 'close': 1.16628, 'volume': 1.0} | asctime='2026-05-30 22:57:11'
2026-05-30 22:57:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 57, 11, 384000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 22:57:11'
2026-05-30 22:57:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 57, 24, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 22:57:24'
2026-05-30 22:57:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 57, 59, 675000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 22:57:59'
2026-05-30 22:58:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 58, 1, 244026, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16536, 'high': 1.16536, 'low': 1.16527, 'close': 1.16527, 'volume': 3.0} | asctime='2026-05-30 22:58:01'
2026-05-30 22:58:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 58, 1, 245104, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16626, 'high': 1.16659, 'low': 1.16624, 'close': 1.16659, 'volume': 3.0} | asctime='2026-05-30 22:58:01'
2026-05-30 22:58:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 58, 1, 164000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 22:58:01'
2026-05-30 22:58:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 58, 2, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 22:58:02'
2026-05-30 22:58:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 58, 6, 751000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 22:58:06'
2026-05-30 22:58:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 58, 16, 185000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 22:58:16'
2026-05-30 22:58:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 58, 17, 426000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 22:58:17'
2026-05-30 22:58:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 58, 17, 674000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 22:58:17'
2026-05-30 22:58:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 58, 18, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 22:58:18'
2026-05-30 22:59:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 59, 3, 792750, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16551, 'low': 1.16506, 'close': 1.16524, 'volume': 7.0} | asctime='2026-05-30 22:59:03'
2026-05-30 22:59:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 59, 3, 793733, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.16686, 'low': 1.16633, 'close': 1.1668, 'volume': 7.0} | asctime='2026-05-30 22:59:03'
2026-05-30 22:59:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 59, 3, 733000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16679, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 22:59:03'
2026-05-30 22:59:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 59, 4, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 22:59:04'
2026-05-30 22:59:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 59, 4, 481000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 22:59:04'
2026-05-30 22:59:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 59, 33, 29000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 22:59:33'
2026-05-30 22:59:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 22, 59, 34, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 22:59:34'
2026-05-30 23:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 0, 2, 141861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16533, 'low': 1.16503, 'close': 1.16528, 'volume': 5.0} | asctime='2026-05-30 23:00:02'
2026-05-30 23:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 0, 2, 142844, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16679, 'high': 1.16679, 'low': 1.16616, 'close': 1.1666, 'volume': 5.0} | asctime='2026-05-30 23:00:02'
2026-05-30 23:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 0, 2, 144024, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16529, 'high': 1.16551, 'low': 1.16503, 'close': 1.16528, 'volume': 18.0} | asctime='2026-05-30 23:00:02'
2026-05-30 23:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 0, 2, 144684, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16619, 'high': 1.16686, 'low': 1.16616, 'close': 1.1666, 'volume': 18.0} | asctime='2026-05-30 23:00:02'
2026-05-30 23:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 0, 2, 145262, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16514, 'high': 1.16556, 'low': 1.16498, 'close': 1.16528, 'volume': 53.0} | asctime='2026-05-30 23:00:02'
2026-05-30 23:00:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 0, 2, 145814, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16646, 'high': 1.16686, 'low': 1.16613, 'close': 1.1666, 'volume': 53.0} | asctime='2026-05-30 23:00:02'
2026-05-30 23:00:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 0, 2, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 23:00:02'
2026-05-30 23:00:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 0, 4, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 23:00:04'
2026-05-30 23:00:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 0, 53, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 23:00:53'
2026-05-30 23:01:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 30, 541565, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16553, 'low': 1.16549, 'close': 1.16549, 'volume': 3.0} | asctime='2026-05-30 23:01:30'
2026-05-30 23:01:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 30, 542269, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16643, 'low': 1.16639, 'close': 1.16639, 'volume': 3.0} | asctime='2026-05-30 23:01:30'
2026-05-30 23:01:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 30, 467000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 23:01:30'
2026-05-30 23:01:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 30, 589000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 23:01:30'
2026-05-30 23:01:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 31, 87000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:01:31'
2026-05-30 23:01:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 44, 867000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 23:01:44'
2026-05-30 23:01:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 45, 238000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 23:01:45'
2026-05-30 23:01:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 47, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:01:47'
2026-05-30 23:01:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 49, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 23:01:49'
2026-05-30 23:01:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 50, 204000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 23:01:50'
2026-05-30 23:01:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 51, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 23:01:51'
2026-05-30 23:01:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 1, 53, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 23:01:53'
2026-05-30 23:02:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 2, 90859, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16551, 'high': 1.16551, 'low': 1.16502, 'close': 1.16544, 'volume': 10.0} | asctime='2026-05-30 23:02:02'
2026-05-30 23:02:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 2, 91683, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16665, 'low': 1.16629, 'close': 1.16634, 'volume': 10.0} | asctime='2026-05-30 23:02:02'
2026-05-30 23:02:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 1, 998000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 23:02:02'
2026-05-30 23:02:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 2, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 23:02:03'
2026-05-30 23:02:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 5, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 23:02:05'
2026-05-30 23:02:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 7, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 23:02:08'
2026-05-30 23:02:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 8, 452000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 23:02:08'
2026-05-30 23:02:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 9, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16558, 'volume': 0.0} | asctime='2026-05-30 23:02:09'
2026-05-30 23:02:18 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 18, 634000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 23:02:18'
2026-05-30 23:02:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 19, 4000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 23:02:19'
2026-05-30 23:02:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 2, 31, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 23:02:31'
2026-05-30 23:03:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 3, 28, 240378, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16515, 'high': 1.16558, 'low': 1.16506, 'close': 1.16546, 'volume': 9.0} | asctime='2026-05-30 23:03:28'
2026-05-30 23:03:28 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 3, 28, 241977, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16672, 'low': 1.1663, 'close': 1.16636, 'volume': 9.0} | asctime='2026-05-30 23:03:28'
2026-05-30 23:03:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 3, 28, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 23:03:28'
2026-05-30 23:03:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 3, 29, 144000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 23:03:29'
2026-05-30 23:03:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 3, 31, 131000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 23:03:31'
2026-05-30 23:03:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 3, 52, 608000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 23:03:52'
2026-05-30 23:03:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 3, 52, 855000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 23:03:52'
2026-05-30 23:04:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 3, 239810, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16551, 'low': 1.16511, 'close': 1.16511, 'volume': 5.0} | asctime='2026-05-30 23:04:03'
2026-05-30 23:04:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 3, 240896, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16667, 'low': 1.16634, 'close': 1.16667, 'volume': 5.0} | asctime='2026-05-30 23:04:03'
2026-05-30 23:04:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 3, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 23:04:03'
2026-05-30 23:04:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 9, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 23:04:09'
2026-05-30 23:04:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 10, 359000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 23:04:10'
2026-05-30 23:04:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 10, 981000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16565, 'volume': 0.0} | asctime='2026-05-30 23:04:11'
2026-05-30 23:04:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 13, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 23:04:13'
2026-05-30 23:04:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 19, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 23:04:19'
2026-05-30 23:04:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 21, 656000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 23:04:21'
2026-05-30 23:04:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 22, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:04:22'
2026-05-30 23:04:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 23, 23000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 23:04:23'
2026-05-30 23:04:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 25, 133000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 23:04:25'
2026-05-30 23:04:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 4, 27, 119000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:04:27'
2026-05-30 23:06:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 37, 38553, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16565, 'low': 1.16501, 'close': 1.16539, 'volume': 11.0} | asctime='2026-05-30 23:06:37'
2026-05-30 23:06:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 37, 39304, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16672, 'low': 1.16622, 'close': 1.16629, 'volume': 11.0} | asctime='2026-05-30 23:06:37'
2026-05-30 23:06:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 37, 40488, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16549, 'high': 1.16565, 'low': 1.16501, 'close': 1.16539, 'volume': 38.0} | asctime='2026-05-30 23:06:37'
2026-05-30 23:06:37 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 37, 41341, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16639, 'high': 1.16672, 'low': 1.16622, 'close': 1.16629, 'volume': 38.0} | asctime='2026-05-30 23:06:37'
2026-05-30 23:06:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 36, 971000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16491, 'volume': 0.0} | asctime='2026-05-30 23:06:37'
2026-05-30 23:06:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 37, 466000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 23:06:37'
2026-05-30 23:06:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 38, 956000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 23:06:39'
2026-05-30 23:06:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 39, 577000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 23:06:39'
2026-05-30 23:06:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 40, 197000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:06:40'
2026-05-30 23:06:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 43, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:06:43'
2026-05-30 23:06:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 45, 163000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16616, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 23:06:45'
2026-05-30 23:06:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 45, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 23:06:45'
2026-05-30 23:06:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 45, 784000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 23:06:45'
2026-05-30 23:06:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 48, 391000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 23:06:48'
2026-05-30 23:06:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 49, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 23:06:49'
2026-05-30 23:06:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 51, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 23:06:51'
2026-05-30 23:06:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 51, 618000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:06:51'
2026-05-30 23:06:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 51, 990000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 23:06:52'
2026-05-30 23:06:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 6, 53, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 23:06:53'
2026-05-30 23:07:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 8, 338505, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16491, 'high': 1.16542, 'low': 1.1649, 'close': 1.1654, 'volume': 15.0} | asctime='2026-05-30 23:07:08'
2026-05-30 23:07:08 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 8, 339340, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16647, 'high': 1.16666, 'low': 1.16616, 'close': 1.1663, 'volume': 15.0} | asctime='2026-05-30 23:07:08'
2026-05-30 23:07:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 8, 253000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 23:07:08'
2026-05-30 23:07:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 9, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 23:07:09'
2026-05-30 23:07:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 22, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 23:07:22'
2026-05-30 23:07:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 22, 406000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 23:07:22'
2026-05-30 23:07:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 23, 26000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 23:07:23'
2026-05-30 23:07:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 25, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 23:07:25'
2026-05-30 23:07:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 27, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 23:07:27'
2026-05-30 23:07:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 57, 415000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 23:07:57'
2026-05-30 23:07:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 7, 59, 648000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 23:07:59'
2026-05-30 23:08:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 8, 42, 437259, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16536, 'low': 1.165, 'close': 1.16517, 'volume': 9.0} | asctime='2026-05-30 23:08:42'
2026-05-30 23:08:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 8, 42, 438295, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16664, 'low': 1.16618, 'close': 1.16649, 'volume': 9.0} | asctime='2026-05-30 23:08:42'
2026-05-30 23:08:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 8, 42, 353000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 23:08:42'
2026-05-30 23:08:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 8, 43, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 23:08:43'
2026-05-30 23:08:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 8, 43, 469000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 23:08:43'
2026-05-30 23:08:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 8, 45, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 23:08:45'
2026-05-30 23:09:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 11, 236969, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16506, 'low': 1.1649, 'close': 1.16506, 'volume': 4.0} | asctime='2026-05-30 23:09:11'
2026-05-30 23:09:11 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 11, 238409, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16636, 'close': 1.16638, 'volume': 4.0} | asctime='2026-05-30 23:09:11'
2026-05-30 23:09:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 11, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 23:09:11'
2026-05-30 23:09:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 15, 2000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 23:09:15'
2026-05-30 23:09:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 17, 112000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 23:09:17'
2026-05-30 23:09:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 19, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 23:09:19'
2026-05-30 23:09:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 22, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 23:09:22'
2026-05-30 23:09:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 23, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:09:23'
2026-05-30 23:09:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 24, 561000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 23:09:24'
2026-05-30 23:09:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 24, 684000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:09:24'
2026-05-30 23:09:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 25, 926000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:09:25'
2026-05-30 23:09:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 26, 49000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 23:09:26'
2026-05-30 23:09:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 26, 422000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 23:09:26'
2026-05-30 23:09:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 27, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16615, 'bid_price': 1.16525, 'volume': 0.0} | asctime='2026-05-30 23:09:27'
2026-05-30 23:09:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 47, 528000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16618, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 23:09:47'
2026-05-30 23:09:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 49, 886000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 23:09:49'
2026-05-30 23:09:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 9, 51, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 23:09:51'
2026-05-30 23:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 2, 136747, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16531, 'high': 1.16544, 'low': 1.16497, 'close': 1.16542, 'volume': 15.0} | asctime='2026-05-30 23:10:02'
2026-05-30 23:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 2, 137614, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16621, 'high': 1.16656, 'low': 1.16614, 'close': 1.16632, 'volume': 15.0} | asctime='2026-05-30 23:10:02'
2026-05-30 23:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 2, 138888, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16491, 'high': 1.16544, 'low': 1.1649, 'close': 1.16542, 'volume': 43.0} | asctime='2026-05-30 23:10:02'
2026-05-30 23:10:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 2, 139989, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16647, 'high': 1.16666, 'low': 1.16614, 'close': 1.16632, 'volume': 43.0} | asctime='2026-05-30 23:10:02'
2026-05-30 23:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 2, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 23:10:02'
2026-05-30 23:10:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 2, 299000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 23:10:02'
2026-05-30 23:10:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 5, 154000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:10:05'
2026-05-30 23:10:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 24, 896000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:10:24'
2026-05-30 23:10:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 27, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:10:27'
2026-05-30 23:10:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 30, 602000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 23:10:30'
2026-05-30 23:10:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 33, 582000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:10:33'
2026-05-30 23:10:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 33, 706000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:10:33'
2026-05-30 23:10:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 35, 72000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 23:10:35'
2026-05-30 23:10:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 37, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 23:10:37'
2026-05-30 23:10:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 50, 591000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 23:10:50'
2026-05-30 23:10:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 51, 86000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16627, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 23:10:51'
2026-05-30 23:10:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 10, 53, 73000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:10:53'
2026-05-30 23:11:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 4, 809633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16514, 'high': 1.16538, 'low': 1.16499, 'close': 1.16538, 'volume': 13.0} | asctime='2026-05-30 23:11:04'
2026-05-30 23:11:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 4, 810647, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16666, 'low': 1.16627, 'close': 1.16628, 'volume': 13.0} | asctime='2026-05-30 23:11:04'
2026-05-30 23:11:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 4, 494000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:11:04'
2026-05-30 23:11:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 4, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 23:11:04'
2026-05-30 23:11:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 4, 741000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 23:11:04'
2026-05-30 23:11:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 5, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 23:11:05'
2026-05-30 23:11:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 7, 101000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16614, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 23:11:07'
2026-05-30 23:11:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 29, 943000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 23:11:30'
2026-05-30 23:11:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 30, 936000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:11:30'
2026-05-30 23:11:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 38, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:11:38'
2026-05-30 23:11:40 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 40, 121000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16617, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 23:11:40'
2026-05-30 23:11:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 42, 232000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 23:11:42'
2026-05-30 23:11:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 43, 722000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:11:43'
2026-05-30 23:11:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 44, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 23:11:44'
2026-05-30 23:11:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 11, 52, 165000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 23:11:52'
2026-05-30 23:12:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 24, 985319, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16544, 'low': 1.16497, 'close': 1.1654, 'volume': 13.0} | asctime='2026-05-30 23:12:24'
2026-05-30 23:12:24 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 24, 986487, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16658, 'low': 1.16614, 'close': 1.1663, 'volume': 13.0} | asctime='2026-05-30 23:12:24'
2026-05-30 23:12:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 24, 938000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 23:12:24'
2026-05-30 23:12:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 25, 60000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:12:25'
2026-05-30 23:12:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 25, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:12:25'
2026-05-30 23:12:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 26, 800000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.16496, 'volume': 0.0} | asctime='2026-05-30 23:12:26'
2026-05-30 23:12:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 27, 171000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 23:12:27'
2026-05-30 23:12:29 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 29, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 23:12:29'
2026-05-30 23:12:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 43, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 23:12:43'
2026-05-30 23:12:44 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 12, 44, 428000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 23:12:44'
2026-05-30 23:14:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 14, 22, 333719, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16551, 'low': 1.16496, 'close': 1.16545, 'volume': 8.0} | asctime='2026-05-30 23:14:22'
2026-05-30 23:14:22 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 14, 22, 335626, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16657, 'low': 1.16633, 'close': 1.16635, 'volume': 8.0} | asctime='2026-05-30 23:14:22'
2026-05-30 23:14:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 14, 22, 252000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 23:14:22'
2026-05-30 23:14:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 14, 33, 50000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 23:14:33'
2026-05-30 23:14:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 14, 39, 134000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16623, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 23:14:39'
2026-05-30 23:14:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 14, 44, 968000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 23:14:45'
2026-05-30 23:14:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 14, 47, 79000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16553, 'volume': 0.0} | asctime='2026-05-30 23:14:47'
2026-05-30 23:14:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 14, 55, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 23:14:55'
2026-05-30 23:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 2, 182970, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16499, 'high': 1.16553, 'low': 1.16499, 'close': 1.16527, 'volume': 6.0} | asctime='2026-05-30 23:15:02'
2026-05-30 23:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 2, 183707, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16659, 'low': 1.16623, 'close': 1.16659, 'volume': 6.0} | asctime='2026-05-30 23:15:02'
2026-05-30 23:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 2, 185001, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16514, 'high': 1.16553, 'low': 1.16496, 'close': 1.16527, 'volume': 40.0} | asctime='2026-05-30 23:15:02'
2026-05-30 23:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 2, 186132, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16646, 'high': 1.16666, 'low': 1.16614, 'close': 1.16659, 'volume': 40.0} | asctime='2026-05-30 23:15:02'
2026-05-30 23:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 2, 187340, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16549, 'high': 1.16565, 'low': 1.1649, 'close': 1.16527, 'volume': 121.0} | asctime='2026-05-30 23:15:02'
2026-05-30 23:15:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 2, 187883, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16639, 'high': 1.16672, 'low': 1.16614, 'close': 1.16659, 'volume': 121.0} | asctime='2026-05-30 23:15:02'
2026-05-30 23:15:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 2, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:15:02'
2026-05-30 23:15:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 22, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 23:15:22'
2026-05-30 23:15:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 27, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 23:15:27'
2026-05-30 23:15:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 31, 397000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 23:15:31'
2026-05-30 23:15:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 42, 197000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 23:15:42'
2026-05-30 23:15:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 42, 818000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:15:42'
2026-05-30 23:15:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 53, 493000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 23:15:53'
2026-05-30 23:15:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 54, 363000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 23:15:54'
2026-05-30 23:15:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 54, 859000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 23:15:54'
2026-05-30 23:15:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 55, 107000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:15:55'
2026-05-30 23:15:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 58, 460000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 23:15:58'
2026-05-30 23:15:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 15, 59, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:15:59'
2026-05-30 23:16:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 1, 732226, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16544, 'low': 1.16493, 'close': 1.16538, 'volume': 12.0} | asctime='2026-05-30 23:16:01'
2026-05-30 23:16:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 1, 733371, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16673, 'low': 1.16628, 'close': 1.16628, 'volume': 12.0} | asctime='2026-05-30 23:16:01'
2026-05-30 23:16:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 1, 687000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:16:01'
2026-05-30 23:16:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 3, 921000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 23:16:03'
2026-05-30 23:16:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 5, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 23:16:05'
2026-05-30 23:16:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 13, 357000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 23:16:13'
2026-05-30 23:16:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 34, 461000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 23:16:34'
2026-05-30 23:16:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 35, 80000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 23:16:35'
2026-05-30 23:16:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 43, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16609, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 23:16:43'
2026-05-30 23:16:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 43, 398000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:16:43'
2026-05-30 23:16:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 16, 45, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 23:16:45'
2026-05-30 23:17:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 17, 33, 632003, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16519, 'low': 1.16492, 'close': 1.16509, 'volume': 9.0} | asctime='2026-05-30 23:17:33'
2026-05-30 23:17:33 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 17, 33, 633015, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16654, 'low': 1.16609, 'close': 1.16641, 'volume': 9.0} | asctime='2026-05-30 23:17:33'
2026-05-30 23:17:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 17, 33, 553000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 23:17:33'
2026-05-30 23:17:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 17, 35, 166000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 23:17:35'
2026-05-30 23:17:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 17, 43, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16548, 'volume': 0.0} | asctime='2026-05-30 23:17:43'
2026-05-30 23:17:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 17, 49, 690000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 23:17:49'
2026-05-30 23:17:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 17, 54, 779000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:17:54'
2026-05-30 23:17:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 17, 55, 151000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:17:55'
2026-05-30 23:17:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 17, 58, 7000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 23:17:58'
2026-05-30 23:18:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 18, 3, 181750, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16513, 'high': 1.16548, 'low': 1.16509, 'close': 1.16524, 'volume': 7.0} | asctime='2026-05-30 23:18:03'
2026-05-30 23:18:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 18, 3, 182795, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16645, 'high': 1.16665, 'low': 1.16628, 'close': 1.16656, 'volume': 7.0} | asctime='2026-05-30 23:18:03'
2026-05-30 23:18:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 18, 3, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 23:18:03'
2026-05-30 23:18:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 18, 31, 277000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 23:18:31'
2026-05-30 23:18:31 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 18, 31, 649000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 23:18:31'
2026-05-30 23:18:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 18, 32, 145000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 23:18:32'
2026-05-30 23:18:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 18, 35, 497000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 23:18:35'
2026-05-30 23:18:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 18, 36, 118000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:18:36'
2026-05-30 23:18:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 18, 38, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:18:38'
2026-05-30 23:19:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 19, 42, 230653, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16549, 'high': 1.16549, 'low': 1.16509, 'close': 1.16538, 'volume': 7.0} | asctime='2026-05-30 23:19:42'
2026-05-30 23:19:42 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 19, 42, 232276, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16647, 'low': 1.16612, 'close': 1.16628, 'volume': 7.0} | asctime='2026-05-30 23:19:42'
2026-05-30 23:19:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 19, 42, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 23:19:42'
2026-05-30 23:19:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 19, 50, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 23:19:50'
2026-05-30 23:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 6, 680430, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16505, 'low': 1.16498, 'close': 1.16505, 'volume': 2.0} | asctime='2026-05-30 23:20:06'
2026-05-30 23:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 6, 681797, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16654, 'low': 1.16637, 'close': 1.16637, 'volume': 2.0} | asctime='2026-05-30 23:20:06'
2026-05-30 23:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 6, 682798, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16538, 'high': 1.16549, 'low': 1.16492, 'close': 1.16505, 'volume': 37.0} | asctime='2026-05-30 23:20:06'
2026-05-30 23:20:06 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 6, 683673, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16628, 'high': 1.16673, 'low': 1.16609, 'close': 1.16637, 'volume': 37.0} | asctime='2026-05-30 23:20:06'
2026-05-30 23:20:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 6, 616000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 23:20:06'
2026-05-30 23:20:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 6, 740000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16686, 'bid_price': 1.16458, 'volume': 0.0} | asctime='2026-05-30 23:20:06'
2026-05-30 23:20:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 8, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16675, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 23:20:08'
2026-05-30 23:20:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 14, 934000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16709, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 23:20:14'
2026-05-30 23:20:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 16, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:20:16'
2026-05-30 23:20:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 17, 790000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 23:20:17'
2026-05-30 23:20:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 27, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 23:20:27'
2026-05-30 23:20:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 27, 596000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 23:20:27'
2026-05-30 23:20:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 28, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 23:20:28'
2026-05-30 23:20:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 46, 93000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 23:20:46'
2026-05-30 23:20:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 51, 307000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 23:20:51'
2026-05-30 23:20:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 52, 52000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 23:20:52'
2026-05-30 23:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 57, 142000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16648, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 23:20:57'
2026-05-30 23:20:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 57, 390000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 23:20:57'
2026-05-30 23:20:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 20, 58, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 23:20:58'
2026-05-30 23:21:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 2, 179759, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.165, 'high': 1.16545, 'low': 1.16458, 'close': 1.16514, 'volume': 15.0} | asctime='2026-05-30 23:21:02'
2026-05-30 23:21:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 2, 180536, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16632, 'high': 1.16709, 'low': 1.16622, 'close': 1.16646, 'volume': 15.0} | asctime='2026-05-30 23:21:02'
2026-05-30 23:21:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 2, 109000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16652, 'bid_price': 1.1652, 'volume': 0.0} | asctime='2026-05-30 23:21:02'
2026-05-30 23:21:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 4, 95000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 23:21:04'
2026-05-30 23:21:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 16, 633000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 23:21:16'
2026-05-30 23:21:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 51, 641000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 23:21:51'
2026-05-30 23:21:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 52, 12000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 23:21:52'
2026-05-30 23:21:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 54, 124000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16547, 'volume': 0.0} | asctime='2026-05-30 23:21:54'
2026-05-30 23:21:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 55, 117000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 23:21:55'
2026-05-30 23:21:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 59, 586000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:21:59'
2026-05-30 23:21:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 21, 59, 709000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16497, 'volume': 0.0} | asctime='2026-05-30 23:21:59'
2026-05-30 23:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 0, 129174, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1652, 'high': 1.16547, 'low': 1.16497, 'close': 1.16497, 'volume': 9.0} | asctime='2026-05-30 23:22:00'
2026-05-30 23:22:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 0, 130903, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16652, 'high': 1.16653, 'low': 1.16624, 'close': 1.16653, 'volume': 9.0} | asctime='2026-05-30 23:22:00'
2026-05-30 23:22:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 0, 81000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 23:22:00'
2026-05-30 23:22:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 3, 682000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 23:22:03'
2026-05-30 23:22:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 4, 54000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 23:22:04'
2026-05-30 23:22:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 34, 842000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 23:22:34'
2026-05-30 23:22:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 35, 339000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:22:35'
2026-05-30 23:22:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 36, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 23:22:36'
2026-05-30 23:22:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 50, 111000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 23:22:50'
2026-05-30 23:22:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 51, 724000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 23:22:51'
2026-05-30 23:22:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 52, 97000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:22:52'
2026-05-30 23:22:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 22, 58, 801000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 23:22:58'
2026-05-30 23:23:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 23, 2, 78516, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1649, 'high': 1.16542, 'low': 1.1649, 'close': 1.16523, 'volume': 10.0} | asctime='2026-05-30 23:23:02'
2026-05-30 23:23:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 23, 2, 80447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16666, 'low': 1.16628, 'close': 1.16655, 'volume': 10.0} | asctime='2026-05-30 23:23:02'
2026-05-30 23:23:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 23, 2, 28000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 23:23:02'
2026-05-30 23:23:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 23, 4, 139000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 23:23:04'
2026-05-30 23:23:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 23, 6, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 23:23:06'
2026-05-30 23:23:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 23, 37, 657000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 23:23:37'
2026-05-30 23:24:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 24, 3, 527941, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16549, 'low': 1.16542, 'close': 1.16542, 'volume': 4.0} | asctime='2026-05-30 23:24:03'
2026-05-30 23:24:03 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 24, 3, 529830, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16639, 'low': 1.16632, 'close': 1.16632, 'volume': 4.0} | asctime='2026-05-30 23:24:03'
2026-05-30 23:24:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 24, 3, 480000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 23:24:03'
2026-05-30 23:24:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 24, 4, 99000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 23:24:04'
2026-05-30 23:25:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 25, 21, 27059, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16527, 'high': 1.16554, 'low': 1.16527, 'close': 1.16554, 'volume': 2.0} | asctime='2026-05-30 23:25:21'
2026-05-30 23:25:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 25, 21, 27939, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16659, 'high': 1.16659, 'low': 1.16644, 'close': 1.16644, 'volume': 2.0} | asctime='2026-05-30 23:25:21'
2026-05-30 23:25:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 25, 21, 28669, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.165, 'high': 1.16554, 'low': 1.16458, 'close': 1.16554, 'volume': 40.0} | asctime='2026-05-30 23:25:21'
2026-05-30 23:25:21 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 25, 21, 30421, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16632, 'high': 1.16709, 'low': 1.16622, 'close': 1.16644, 'volume': 40.0} | asctime='2026-05-30 23:25:21'
2026-05-30 23:25:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 25, 20, 950000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16528, 'volume': 0.0} | asctime='2026-05-30 23:25:21'
2026-05-30 23:25:22 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 25, 22, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:25:22'
2026-05-30 23:25:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 25, 55, 205000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 23:25:55'
2026-05-30 23:26:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 26, 1, 128806, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16528, 'high': 1.16538, 'low': 1.16505, 'close': 1.16505, 'volume': 3.0} | asctime='2026-05-30 23:26:01'
2026-05-30 23:26:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 26, 1, 130907, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1666, 'high': 1.16661, 'low': 1.16628, 'close': 1.16661, 'volume': 3.0} | asctime='2026-05-30 23:26:01'
2026-05-30 23:26:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 26, 1, 40000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 23:26:01'
2026-05-30 23:26:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 26, 36, 174000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 23:26:36'
2026-05-30 23:26:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 26, 56, 160000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 23:26:56'
2026-05-30 23:28:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 28, 25, 724643, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16546, 'low': 1.16523, 'close': 1.16546, 'volume': 3.0} | asctime='2026-05-30 23:28:25'
2026-05-30 23:28:25 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 28, 25, 735802, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16636, 'close': 1.16636, 'volume': 3.0} | asctime='2026-05-30 23:28:25'
2026-05-30 23:28:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 28, 25, 664000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 23:28:25'
2026-05-30 23:28:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 28, 39, 319000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 23:28:39'
2026-05-30 23:28:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 28, 41, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 23:28:41'
2026-05-30 23:28:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 28, 57, 71000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 23:28:57'
2026-05-30 23:28:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 28, 57, 194000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 23:28:57'
2026-05-30 23:28:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 28, 59, 57000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16647, 'bid_price': 1.16557, 'volume': 0.0} | asctime='2026-05-30 23:28:59'
2026-05-30 23:29:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 10, 523941, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16544, 'high': 1.16557, 'low': 1.16512, 'close': 1.16557, 'volume': 6.0} | asctime='2026-05-30 23:29:10'
2026-05-30 23:29:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 10, 525330, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16634, 'high': 1.16668, 'low': 1.16625, 'close': 1.16647, 'volume': 6.0} | asctime='2026-05-30 23:29:10'
2026-05-30 23:29:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 10, 479000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 23:29:10'
2026-05-30 23:29:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 12, 837000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:29:12'
2026-05-30 23:29:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 13, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16516, 'volume': 0.0} | asctime='2026-05-30 23:29:13'
2026-05-30 23:29:43 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 43, 128000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16622, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 23:29:43'
2026-05-30 23:29:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 51, 445000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:29:51'
2026-05-30 23:29:51 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 51, 692000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16689, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 23:29:51'
2026-05-30 23:29:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 54, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16693, 'bid_price': 1.16465, 'volume': 0.0} | asctime='2026-05-30 23:29:54'
2026-05-30 23:29:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 56, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 23:29:56'
2026-05-30 23:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 57, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 23:29:57'
2026-05-30 23:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 57, 278000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16682, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 23:29:57'
2026-05-30 23:29:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 57, 900000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 23:29:57'
2026-05-30 23:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 58, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16667, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 23:29:58'
2026-05-30 23:29:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 58, 398000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 23:29:58'
2026-05-30 23:29:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 29, 59, 141000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 23:29:59'
2026-05-30 23:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 2, 324337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16529, 'high': 1.16535, 'low': 1.16465, 'close': 1.1653, 'volume': 14.0} | asctime='2026-05-30 23:30:02'
2026-05-30 23:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 2, 325452, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16661, 'high': 1.16693, 'low': 1.16622, 'close': 1.16662, 'volume': 14.0} | asctime='2026-05-30 23:30:02'
2026-05-30 23:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 2, 326794, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16528, 'high': 1.16557, 'low': 1.16465, 'close': 1.1653, 'volume': 26.0} | asctime='2026-05-30 23:30:02'
2026-05-30 23:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 2, 327872, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.1666, 'high': 1.16693, 'low': 1.16622, 'close': 1.16662, 'volume': 26.0} | asctime='2026-05-30 23:30:02'
2026-05-30 23:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 2, 328881, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16538, 'high': 1.16557, 'low': 1.16458, 'close': 1.1653, 'volume': 103.0} | asctime='2026-05-30 23:30:02'
2026-05-30 23:30:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 2, 329884, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16628, 'high': 1.16709, 'low': 1.16609, 'close': 1.16662, 'volume': 103.0} | asctime='2026-05-30 23:30:02'
2026-05-30 23:30:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 2, 245000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 23:30:02'
2026-05-30 23:30:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 2, 617000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1666, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 23:30:02'
2026-05-30 23:30:03 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 3, 113000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 23:30:03'
2026-05-30 23:30:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 5, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:30:05'
2026-05-30 23:30:08 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 8, 824000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 23:30:08'
2026-05-30 23:30:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 11, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 23:30:11'
2026-05-30 23:30:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 11, 804000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 23:30:11'
2026-05-30 23:30:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 11, 927000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16488, 'volume': 0.0} | asctime='2026-05-30 23:30:11'
2026-05-30 23:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 12, 51000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16474, 'volume': 0.0} | asctime='2026-05-30 23:30:12'
2026-05-30 23:30:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 12, 672000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 23:30:12'
2026-05-30 23:30:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 13, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 23:30:13'
2026-05-30 23:30:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 23, 100000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:30:23'
2026-05-30 23:30:33 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 33, 404000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16529, 'volume': 0.0} | asctime='2026-05-30 23:30:33'
2026-05-30 23:30:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 30, 45, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16561, 'volume': 0.0} | asctime='2026-05-30 23:30:45'
2026-05-30 23:31:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 31, 14, 673485, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16508, 'high': 1.16561, 'low': 1.16474, 'close': 1.16561, 'volume': 14.0} | asctime='2026-05-30 23:31:14'
2026-05-30 23:31:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 31, 14, 674589, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16664, 'low': 1.16625, 'close': 1.16651, 'volume': 14.0} | asctime='2026-05-30 23:31:14'
2026-05-30 23:31:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 31, 14, 620000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 23:31:14'
2026-05-30 23:31:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 31, 14, 991000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 23:31:15'
2026-05-30 23:31:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 31, 17, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 23:31:17'
2026-05-30 23:31:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 31, 49, 132000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:31:49'
2026-05-30 23:32:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 10, 673295, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16538, 'low': 1.16512, 'close': 1.16538, 'volume': 4.0} | asctime='2026-05-30 23:32:10'
2026-05-30 23:32:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 10, 673927, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16668, 'low': 1.16628, 'close': 1.16628, 'volume': 4.0} | asctime='2026-05-30 23:32:10'
2026-05-30 23:32:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 10, 610000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16509, 'volume': 0.0} | asctime='2026-05-30 23:32:10'
2026-05-30 23:32:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 11, 600000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 23:32:11'
2026-05-30 23:32:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 13, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:32:13'
2026-05-30 23:32:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 14, 828000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16672, 'bid_price': 1.16492, 'volume': 0.0} | asctime='2026-05-30 23:32:14'
2026-05-30 23:32:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 15, 75000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 23:32:15'
2026-05-30 23:32:16 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 16, 317000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16503, 'volume': 0.0} | asctime='2026-05-30 23:32:16'
2026-05-30 23:32:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 17, 63000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16659, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 23:32:17'
2026-05-30 23:32:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 32, 47, 850000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16554, 'volume': 0.0} | asctime='2026-05-30 23:32:47'
2026-05-30 23:33:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 33, 14, 822161, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16509, 'high': 1.16554, 'low': 1.16492, 'close': 1.16554, 'volume': 8.0} | asctime='2026-05-30 23:33:14'
2026-05-30 23:33:14 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 33, 14, 822942, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16672, 'low': 1.1664, 'close': 1.16644, 'volume': 8.0} | asctime='2026-05-30 23:33:14'
2026-05-30 23:33:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 33, 14, 788000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16523, 'volume': 0.0} | asctime='2026-05-30 23:33:14'
2026-05-30 23:33:14 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 33, 14, 911000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 23:33:14'
2026-05-30 23:33:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 33, 17, 146000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 23:33:17'
2026-05-30 23:33:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 33, 23, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:33:23'
2026-05-30 23:34:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 34, 41, 720608, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16523, 'high': 1.16539, 'low': 1.16521, 'close': 1.16539, 'volume': 4.0} | asctime='2026-05-30 23:34:41'
2026-05-30 23:34:41 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 34, 41, 721760, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16655, 'high': 1.16658, 'low': 1.16629, 'close': 1.16629, 'volume': 4.0} | asctime='2026-05-30 23:34:41'
2026-05-30 23:34:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 34, 41, 688000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1663, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 23:34:41'
2026-05-30 23:34:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 34, 47, 149000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:34:47'
2026-05-30 23:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 0, 721457, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.1654, 'low': 1.16539, 'close': 1.16539, 'volume': 2.0} | asctime='2026-05-30 23:35:00'
2026-05-30 23:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 0, 722494, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1663, 'high': 1.1663, 'low': 1.16629, 'close': 1.16629, 'volume': 2.0} | asctime='2026-05-30 23:35:00'
2026-05-30 23:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 0, 723998, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16508, 'high': 1.16561, 'low': 1.16474, 'close': 1.16539, 'volume': 32.0} | asctime='2026-05-30 23:35:00'
2026-05-30 23:35:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 0, 725209, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16664, 'high': 1.16672, 'low': 1.16625, 'close': 1.16629, 'volume': 32.0} | asctime='2026-05-30 23:35:00'
2026-05-30 23:35:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 0, 681000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16507, 'volume': 0.0} | asctime='2026-05-30 23:35:00'
2026-05-30 23:35:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 2, 294000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 23:35:02'
2026-05-30 23:35:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 5, 157000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:35:05'
2026-05-30 23:35:11 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 11, 108000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 23:35:11'
2026-05-30 23:35:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 13, 94000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 23:35:13'
2026-05-30 23:35:25 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 35, 25, 136000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 23:35:25'
2026-05-30 23:36:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 17, 219801, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16507, 'high': 1.16541, 'low': 1.16498, 'close': 1.16541, 'volume': 6.0} | asctime='2026-05-30 23:36:17'
2026-05-30 23:36:17 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 17, 220594, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16639, 'high': 1.16658, 'low': 1.16631, 'close': 1.16631, 'volume': 6.0} | asctime='2026-05-30 23:36:17'
2026-05-30 23:36:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 17, 150000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:36:17'
2026-05-30 23:36:19 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 19, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16612, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 23:36:19'
2026-05-30 23:36:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 34, 159000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 23:36:34'
2026-05-30 23:36:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 34, 281000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.16508, 'volume': 0.0} | asctime='2026-05-30 23:36:34'
2026-05-30 23:36:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 34, 405000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16645, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 23:36:34'
2026-05-30 23:36:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 34, 530000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:36:34'
2026-05-30 23:36:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 34, 903000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16673, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 23:36:34'
2026-05-30 23:36:37 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 36, 37, 137000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16653, 'bid_price': 1.16563, 'volume': 0.0} | asctime='2026-05-30 23:36:37'
2026-05-30 23:37:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 37, 4, 770331, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1651, 'high': 1.16563, 'low': 1.16506, 'close': 1.16563, 'volume': 8.0} | asctime='2026-05-30 23:37:04'
2026-05-30 23:37:04 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 37, 4, 771261, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16642, 'high': 1.16673, 'low': 1.16612, 'close': 1.16653, 'volume': 8.0} | asctime='2026-05-30 23:37:04'
2026-05-30 23:37:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 37, 4, 698000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 23:37:04'
2026-05-30 23:37:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 37, 7, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 23:37:07'
2026-05-30 23:37:21 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 37, 21, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16552, 'volume': 0.0} | asctime='2026-05-30 23:37:21'
2026-05-30 23:37:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 37, 38, 214000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 23:37:38'
2026-05-30 23:37:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 37, 38, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16519, 'volume': 0.0} | asctime='2026-05-30 23:37:38'
2026-05-30 23:37:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 37, 39, 83000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16621, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 23:37:39'
2026-05-30 23:37:41 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 37, 41, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16625, 'bid_price': 1.16535, 'volume': 0.0} | asctime='2026-05-30 23:37:41'
2026-05-30 23:39:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 45, 267861, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16552, 'low': 1.16519, 'close': 1.16535, 'volume': 7.0} | asctime='2026-05-30 23:39:45'
2026-05-30 23:39:45 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 45, 268775, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16666, 'high': 1.16668, 'low': 1.16621, 'close': 1.16625, 'volume': 7.0} | asctime='2026-05-30 23:39:45'
2026-05-30 23:39:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 45, 213000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16498, 'volume': 0.0} | asctime='2026-05-30 23:39:45'
2026-05-30 23:39:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 46, 575000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16661, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 23:39:46'
2026-05-30 23:39:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 46, 823000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 23:39:46'
2026-05-30 23:39:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 47, 693000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 23:39:47'
2026-05-30 23:39:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 49, 58000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 23:39:49'
2026-05-30 23:39:53 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 53, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 23:39:53'
2026-05-30 23:39:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 57, 500000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 23:39:57'
2026-05-30 23:39:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 39, 59, 114000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 23:39:59'
2026-05-30 23:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 40, 1, 768048, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16498, 'high': 1.16543, 'low': 1.16498, 'close': 1.16532, 'volume': 8.0} | asctime='2026-05-30 23:40:01'
2026-05-30 23:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 40, 1, 768851, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16654, 'high': 1.16668, 'low': 1.16633, 'close': 1.16664, 'volume': 8.0} | asctime='2026-05-30 23:40:01'
2026-05-30 23:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 40, 1, 769868, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16507, 'high': 1.16563, 'low': 1.16498, 'close': 1.16532, 'volume': 29.0} | asctime='2026-05-30 23:40:01'
2026-05-30 23:40:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 40, 1, 770324, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16639, 'high': 1.16673, 'low': 1.16612, 'close': 1.16664, 'volume': 29.0} | asctime='2026-05-30 23:40:01'
2026-05-30 23:40:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 40, 1, 721000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 23:40:01'
2026-05-30 23:40:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 40, 26, 53000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1667, 'bid_price': 1.16514, 'volume': 0.0} | asctime='2026-05-30 23:40:26'
2026-05-30 23:40:27 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 40, 27, 170000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 23:40:27'
2026-05-30 23:41:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 41, 38, 202805, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16512, 'high': 1.16541, 'low': 1.16512, 'close': 1.16541, 'volume': 3.0} | asctime='2026-05-30 23:41:38'
2026-05-30 23:41:38 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 41, 38, 203862, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16668, 'high': 1.1667, 'low': 1.16631, 'close': 1.16631, 'volume': 3.0} | asctime='2026-05-30 23:41:38'
2026-05-30 23:41:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 41, 38, 55000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 23:41:38'
2026-05-30 23:41:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 41, 38, 177000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 23:41:38'
2026-05-30 23:41:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 41, 38, 426000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16668, 'bid_price': 1.16512, 'volume': 0.0} | asctime='2026-05-30 23:41:38'
2026-05-30 23:41:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 41, 45, 130000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:41:45'
2026-05-30 23:41:47 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 41, 47, 116000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16638, 'bid_price': 1.16506, 'volume': 0.0} | asctime='2026-05-30 23:41:47'
2026-05-30 23:41:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 41, 49, 102000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16631, 'bid_price': 1.16541, 'volume': 0.0} | asctime='2026-05-30 23:41:49'
2026-05-30 23:42:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 42, 5, 66588, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16546, 'high': 1.16549, 'low': 1.16501, 'close': 1.16541, 'volume': 6.0} | asctime='2026-05-30 23:42:05'
2026-05-30 23:42:05 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 42, 5, 67508, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16636, 'high': 1.16668, 'low': 1.16631, 'close': 1.16631, 'volume': 6.0} | asctime='2026-05-30 23:42:05'
2026-05-30 23:42:05 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 42, 4, 993000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 23:42:05'
2026-05-30 23:42:07 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 42, 7, 103000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 23:42:07'
2026-05-30 23:42:09 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 42, 9, 90000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 23:42:09'
2026-05-30 23:44:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 15, 415126, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16536, 'low': 1.1653, 'close': 1.1653, 'volume': 3.0} | asctime='2026-05-30 23:44:15'
2026-05-30 23:44:15 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 15, 416995, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16626, 'low': 1.1662, 'close': 1.1662, 'volume': 3.0} | asctime='2026-05-30 23:44:15'
2026-05-30 23:44:15 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 15, 341000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16502, 'volume': 0.0} | asctime='2026-05-30 23:44:15'
2026-05-30 23:44:42 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 42, 155000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16517, 'volume': 0.0} | asctime='2026-05-30 23:44:42'
2026-05-30 23:44:46 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 46, 127000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 23:44:46'
2026-05-30 23:44:55 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 55, 190000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 23:44:55'
2026-05-30 23:44:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 57, 300000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16649, 'bid_price': 1.16493, 'volume': 0.0} | asctime='2026-05-30 23:44:57'
2026-05-30 23:44:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 57, 671000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 23:44:57'
2026-05-30 23:44:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 58, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16644, 'bid_price': 1.16488, 'volume': 0.0} | asctime='2026-05-30 23:44:58'
2026-05-30 23:44:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 59, 659000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16632, 'bid_price': 1.165, 'volume': 0.0} | asctime='2026-05-30 23:44:59'
2026-05-30 23:44:59 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 44, 59, 782000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 23:44:59'
2026-05-30 23:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 1, 314441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16502, 'high': 1.16517, 'low': 1.16488, 'close': 1.16499, 'volume': 9.0} | asctime='2026-05-30 23:45:01'
2026-05-30 23:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 1, 315171, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16658, 'low': 1.16632, 'close': 1.16655, 'volume': 9.0} | asctime='2026-05-30 23:45:01'
2026-05-30 23:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 1, 315666, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16512, 'high': 1.16549, 'low': 1.16488, 'close': 1.16499, 'volume': 21.0} | asctime='2026-05-30 23:45:01'
2026-05-30 23:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 1, 316161, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16668, 'high': 1.1667, 'low': 1.1662, 'close': 1.16655, 'volume': 21.0} | asctime='2026-05-30 23:45:01'
2026-05-30 23:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 1, 316611, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16508, 'high': 1.16563, 'low': 1.16474, 'close': 1.16499, 'volume': 82.0} | asctime='2026-05-30 23:45:01'
2026-05-30 23:45:01 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_15:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 1, 317052, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M15', 'open_price': 1.16664, 'high': 1.16673, 'low': 1.16612, 'close': 1.16655, 'volume': 82.0} | asctime='2026-05-30 23:45:01'
2026-05-30 23:45:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 1, 272000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16633, 'bid_price': 1.16543, 'volume': 0.0} | asctime='2026-05-30 23:45:01'
2026-05-30 23:45:01 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 1, 645000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1664, 'bid_price': 1.1655, 'volume': 0.0} | asctime='2026-05-30 23:45:01'
2026-05-30 23:45:35 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 35, 908000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16515, 'volume': 0.0} | asctime='2026-05-30 23:45:35'
2026-05-30 23:45:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 45, 39, 135000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 23:45:39'
2026-05-30 23:47:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 47, 0, 863633, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16543, 'high': 1.16551, 'low': 1.16515, 'close': 1.16551, 'volume': 4.0} | asctime='2026-05-30 23:47:00'
2026-05-30 23:47:00 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 47, 0, 864395, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16633, 'high': 1.16671, 'low': 1.16633, 'close': 1.16641, 'volume': 4.0} | asctime='2026-05-30 23:47:00'
2026-05-30 23:47:00 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 47, 0, 821000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16656, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 23:47:00'
2026-05-30 23:47:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 47, 2, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:47:02'
2026-05-30 23:47:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 47, 36, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:47:36'
2026-05-30 23:48:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 48, 26, 662810, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16524, 'high': 1.16539, 'low': 1.16524, 'close': 1.16538, 'volume': 3.0} | asctime='2026-05-30 23:48:26'
2026-05-30 23:48:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 48, 26, 663510, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16656, 'high': 1.16656, 'low': 1.16628, 'close': 1.16628, 'volume': 3.0} | asctime='2026-05-30 23:48:26'
2026-05-30 23:48:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 48, 26, 604000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16658, 'bid_price': 1.16526, 'volume': 0.0} | asctime='2026-05-30 23:48:26'
2026-05-30 23:48:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 48, 26, 725000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16513, 'volume': 0.0} | asctime='2026-05-30 23:48:26'
2026-05-30 23:48:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 48, 28, 91000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 23:48:28'
2026-05-30 23:48:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 48, 30, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16537, 'volume': 0.0} | asctime='2026-05-30 23:48:30'
2026-05-30 23:48:45 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 48, 45, 471000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16662, 'bid_price': 1.1653, 'volume': 0.0} | asctime='2026-05-30 23:48:45'
2026-05-30 23:48:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 48, 56, 147000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16663, 'bid_price': 1.16531, 'volume': 0.0} | asctime='2026-05-30 23:48:56'
2026-05-30 23:49:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 49, 2, 162441, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16526, 'high': 1.16537, 'low': 1.16513, 'close': 1.16531, 'volume': 6.0} | asctime='2026-05-30 23:49:02'
2026-05-30 23:49:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 49, 2, 163152, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16658, 'high': 1.16669, 'low': 1.16658, 'close': 1.16663, 'volume': 6.0} | asctime='2026-05-30 23:49:02'
2026-05-30 23:49:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 49, 2, 106000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16664, 'bid_price': 1.16532, 'volume': 0.0} | asctime='2026-05-30 23:49:02'
2026-05-30 23:49:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 49, 4, 92000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16665, 'bid_price': 1.16533, 'volume': 0.0} | asctime='2026-05-30 23:49:04'
2026-05-30 23:49:06 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 49, 6, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16671, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:49:06'
2026-05-30 23:49:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 49, 13, 403000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16674, 'bid_price': 1.16542, 'volume': 0.0} | asctime='2026-05-30 23:49:13'
2026-05-30 23:49:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 49, 17, 3000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1668, 'bid_price': 1.16524, 'volume': 0.0} | asctime='2026-05-30 23:49:17'
2026-05-30 23:49:23 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 49, 23, 334000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16683, 'bid_price': 1.16527, 'volume': 0.0} | asctime='2026-05-30 23:49:23'
2026-05-30 23:49:24 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 49, 24, 78000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 23:49:24'
2026-05-30 23:50:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 50, 12, 161936, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16532, 'high': 1.16545, 'low': 1.16524, 'close': 1.16545, 'volume': 7.0} | asctime='2026-05-30 23:50:12'
2026-05-30 23:50:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 50, 12, 162874, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16664, 'high': 1.16683, 'low': 1.16664, 'close': 1.16677, 'volume': 7.0} | asctime='2026-05-30 23:50:12'
2026-05-30 23:50:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 50, 12, 163499, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16543, 'high': 1.16551, 'low': 1.16513, 'close': 1.16545, 'volume': 20.0} | asctime='2026-05-30 23:50:12'
2026-05-30 23:50:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 50, 12, 163919, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16633, 'high': 1.16683, 'low': 1.16628, 'close': 1.16677, 'volume': 20.0} | asctime='2026-05-30 23:50:12'
2026-05-30 23:50:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 50, 12, 122000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 23:50:12'
2026-05-30 23:50:57 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 50, 57, 433000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 23:50:57'
2026-05-30 23:51:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 51, 32, 110975, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16551, 'high': 1.16551, 'low': 1.16544, 'close': 1.16544, 'volume': 2.0} | asctime='2026-05-30 23:51:32'
2026-05-30 23:51:32 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 51, 32, 111984, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16641, 'high': 1.16641, 'low': 1.16634, 'close': 1.16634, 'volume': 2.0} | asctime='2026-05-30 23:51:32'
2026-05-30 23:51:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 51, 32, 69000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16628, 'bid_price': 1.16538, 'volume': 0.0} | asctime='2026-05-30 23:51:32'
2026-05-30 23:51:49 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 51, 49, 200000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 23:51:49'
2026-05-30 23:52:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 52, 12, 210703, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16538, 'high': 1.16538, 'low': 1.16536, 'close': 1.16536, 'volume': 2.0} | asctime='2026-05-30 23:52:12'
2026-05-30 23:52:12 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 52, 12, 211720, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16628, 'high': 1.16628, 'low': 1.16626, 'close': 1.16626, 'volume': 2.0} | asctime='2026-05-30 23:52:12'
2026-05-30 23:52:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 52, 12, 167000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 23:52:12'
2026-05-30 23:52:39 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 52, 39, 105000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16651, 'bid_price': 1.16495, 'volume': 0.0} | asctime='2026-05-30 23:52:39'
2026-05-30 23:52:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 52, 48, 168000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16643, 'bid_price': 1.16511, 'volume': 0.0} | asctime='2026-05-30 23:52:48'
2026-05-30 23:52:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 52, 58, 98000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:52:58'
2026-05-30 23:53:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 53, 2, 110434, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16534, 'high': 1.16534, 'low': 1.16495, 'close': 1.1651, 'volume': 4.0} | asctime='2026-05-30 23:53:02'
2026-05-30 23:53:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 53, 2, 111297, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16624, 'high': 1.16651, 'low': 1.16624, 'close': 1.16642, 'volume': 4.0} | asctime='2026-05-30 23:53:02'
2026-05-30 23:53:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 53, 2, 70000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:53:02'
2026-05-30 23:53:04 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 53, 4, 56000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16518, 'volume': 0.0} | asctime='2026-05-30 23:53:04'
2026-05-30 23:53:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 53, 12, 126000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 23:53:12'
2026-05-30 23:53:28 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 53, 28, 264000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16639, 'bid_price': 1.16549, 'volume': 0.0} | asctime='2026-05-30 23:53:28'
2026-05-30 23:53:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 53, 34, 347000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16654, 'bid_price': 1.16522, 'volume': 0.0} | asctime='2026-05-30 23:53:34'
2026-05-30 23:53:36 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 53, 36, 84000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 23:53:36'
2026-05-30 23:54:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 54, 34, 109195, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16501, 'high': 1.16551, 'low': 1.16501, 'close': 1.16536, 'volume': 6.0} | asctime='2026-05-30 23:54:34'
2026-05-30 23:54:34 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 54, 34, 110425, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16657, 'high': 1.16657, 'low': 1.16626, 'close': 1.16626, 'volume': 6.0} | asctime='2026-05-30 23:54:34'
2026-05-30 23:54:34 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 54, 34, 59000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1661, 'bid_price': 1.1654, 'volume': 0.0} | asctime='2026-05-30 23:54:34'
2026-05-30 23:54:48 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 54, 48, 707000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16666, 'bid_price': 1.1651, 'volume': 0.0} | asctime='2026-05-30 23:54:48'
2026-05-30 23:54:54 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 54, 54, 666000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 23:54:54'
2026-05-30 23:55:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 10, 358337, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1654, 'high': 1.16545, 'low': 1.1651, 'close': 1.16545, 'volume': 3.0} | asctime='2026-05-30 23:55:10'
2026-05-30 23:55:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 10, 360281, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1661, 'high': 1.16677, 'low': 1.1661, 'close': 1.16677, 'volume': 3.0} | asctime='2026-05-30 23:55:10'
2026-05-30 23:55:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 10, 361766, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16551, 'high': 1.16551, 'low': 1.16495, 'close': 1.16545, 'volume': 17.0} | asctime='2026-05-30 23:55:10'
2026-05-30 23:55:10 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE_5:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 10, 363099, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M5', 'open_price': 1.16641, 'high': 1.16677, 'low': 1.1661, 'close': 1.16677, 'volume': 17.0} | asctime='2026-05-30 23:55:10'
2026-05-30 23:55:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 10, 308000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16677, 'bid_price': 1.16521, 'volume': 0.0} | asctime='2026-05-30 23:55:10'
2026-05-30 23:55:10 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 10, 431000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1669, 'bid_price': 1.16486, 'volume': 0.0} | asctime='2026-05-30 23:55:10'
2026-05-30 23:55:12 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 12, 169000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16684, 'bid_price': 1.16504, 'volume': 0.0} | asctime='2026-05-30 23:55:12'
2026-05-30 23:55:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 13, 38000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16655, 'bid_price': 1.16499, 'volume': 0.0} | asctime='2026-05-30 23:55:13'
2026-05-30 23:55:13 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 13, 162000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16485, 'volume': 0.0} | asctime='2026-05-30 23:55:13'
2026-05-30 23:55:17 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 17, 11000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.1665, 'bid_price': 1.16494, 'volume': 0.0} | asctime='2026-05-30 23:55:17'
2026-05-30 23:55:38 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 55, 38, 115000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16635, 'bid_price': 1.16545, 'volume': 0.0} | asctime='2026-05-30 23:55:38'
2026-05-30 23:56:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 56, 26, 208157, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16521, 'high': 1.16545, 'low': 1.16485, 'close': 1.16545, 'volume': 7.0} | asctime='2026-05-30 23:56:26'
2026-05-30 23:56:26 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 56, 26, 209447, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16677, 'high': 1.1669, 'low': 1.16635, 'close': 1.16635, 'volume': 7.0} | asctime='2026-05-30 23:56:26'
2026-05-30 23:56:26 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 56, 26, 158000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16629, 'bid_price': 1.16539, 'volume': 0.0} | asctime='2026-05-30 23:56:26'
2026-05-30 23:56:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 56, 52, 104000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16626, 'bid_price': 1.16536, 'volume': 0.0} | asctime='2026-05-30 23:56:52'
2026-05-30 23:56:56 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 56, 56, 696000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16634, 'bid_price': 1.16544, 'volume': 0.0} | asctime='2026-05-30 23:56:56'
2026-05-30 23:56:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 56, 58, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16636, 'bid_price': 1.16546, 'volume': 0.0} | asctime='2026-05-30 23:56:58'
2026-05-30 23:57:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 57, 30, 507840, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16539, 'high': 1.16546, 'low': 1.16536, 'close': 1.16546, 'volume': 4.0} | asctime='2026-05-30 23:57:30'
2026-05-30 23:57:30 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 57, 30, 508764, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16629, 'high': 1.16636, 'low': 1.16626, 'close': 1.16636, 'volume': 4.0} | asctime='2026-05-30 23:57:30'
2026-05-30 23:57:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 57, 30, 463000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16646, 'bid_price': 1.1649, 'volume': 0.0} | asctime='2026-05-30 23:57:30'
2026-05-30 23:57:30 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 57, 30, 710000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16669, 'bid_price': 1.16489, 'volume': 0.0} | asctime='2026-05-30 23:57:30'
2026-05-30 23:57:32 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 57, 32, 77000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16485, 'volume': 0.0} | asctime='2026-05-30 23:57:32'
2026-05-30 23:57:50 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 57, 50, 76000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16642, 'bid_price': 1.16486, 'volume': 0.0} | asctime='2026-05-30 23:57:50'
2026-05-30 23:57:52 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 57, 52, 62000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16624, 'bid_price': 1.16534, 'volume': 0.0} | asctime='2026-05-30 23:57:52'
2026-05-30 23:58:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 58, 2, 57418, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.1649, 'high': 1.16534, 'low': 1.16485, 'close': 1.16534, 'volume': 5.0} | asctime='2026-05-30 23:58:02'
2026-05-30 23:58:02 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 58, 2, 58450, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16646, 'high': 1.16669, 'low': 1.16624, 'close': 1.16624, 'volume': 5.0} | asctime='2026-05-30 23:58:02'
2026-05-30 23:58:02 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 58, 1, 994000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16637, 'bid_price': 1.16505, 'volume': 0.0} | asctime='2026-05-30 23:58:02'
2026-05-30 23:59:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 59, 58, 505408, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16505, 'high': 1.16505, 'low': 1.16505, 'close': 1.16505, 'volume': 1.0} | asctime='2026-05-30 23:59:58'
2026-05-30 23:59:58 DEBUG __main__: Candle from Redis channel=capital:stream:MINUTE:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 59, 58, 506224, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'time_label': 'M1', 'open_price': 1.16637, 'high': 1.16637, 'low': 1.16637, 'close': 1.16637, 'volume': 1.0} | asctime='2026-05-30 23:59:58'
2026-05-30 23:59:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 59, 58, 439000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16657, 'bid_price': 1.16501, 'volume': 0.0} | asctime='2026-05-30 23:59:58'
2026-05-30 23:59:58 DEBUG __main__: Tick from Redis channel=capital:stream:TICK:EURUSD_W row={'timestamp': datetime.datetime(2026, 5, 30, 23, 59, 58, 935000, tzinfo=datetime.timezone.utc), 'symbol': 'EURUSD_W', 'offer_price': 1.16641, 'bid_price': 1.16551, 'volume': 0.0} | asctime='2026-05-30 23:59:58'
