Fibonacci Assistant Telegram Bot

Fibonacci Assistant Telegram Bot

Дей-трейдеры, работающие на волатильных крипторынках, не всегда могут полагаться на тяжеловесное десктопное ПО вроде TradingView, находясь в движении. Клиенту требовалось молниеносное mobile-first решение для точного расчета математических уровней на основе динамики цены прямо в мессенджере, где они обсуждают сделки.

Техническая Архитектура

  • Базовый фреймворк: grammy.js (TypeScript)
  • Агрегация данных: Binance WebSocket Streams + REST
  • Управление состоянием: Redis (кэширование сессий и rate-limiting)
  • Инфраструктура: Node.js, Docker, деплой на AWS EC2
  • База данных: PostgreSQL (Настройки пользователей и подписки)

Инженерные Вызовы

1. Обработка высокочастотных потоков данных (High-Frequency Streams)

Для точного расчета уровней Фибоначчи нужна абсолютная точность максимумов (H) и минимумов (L) на определенном таймфрейме. Бот должен был парсить сотни тиков цены в секунду, не блокируя event loop в Node.js и не отставая от живого рынка.

Решение: Я реализовал специализированный буфер WebSocket'ов, использующий алгоритм скользящего окна (sliding window). Вместо того чтобы пересчитывать уровни на каждый тик, бот агрегировал данные OHLCV в оперативной памяти и запускал ресурсоемкие вычисления только тогда, когда пользователь делал запрос, или если цена пересекала заранее рассчитанный критический порог (threshold).

2. Управление состоянием (Conversational State) в диалогах Telegram

Определение сложных технических индикаторов требует многократного ввода данных от пользователя (торговая пара, таймфрейм и опорные точки). Организовать это через стандартный, линейный интерфейс чата очень сложно.

Решение: Я использовал возможности продвинутых Conversation-механик во фреймворке grammy.js. Я построил конечный автомат (State Machine), который управлял сессиями пользователей в Redis, проводя их через интерактивные inline-кнопки вместо монотонного ввода текстовых команд. Это кардинально улучшило UX, сократив среднее время на генерацию расчета с 15 секунд до двух тапов.

Бизнес-Итог

Бот радикальным образом изменил то, как трейдерское комьюнити клиента совершало сделки «на ходу». Снизив барьер (трение) для получения сложных математических данных, клиент получил взрывной рост вовлеченности в своих премиум-каналах. Инфраструктура спокойно масштабировалась для обработки тысяч одновременных пользователей во время высокой рыночной волатильности, без какого-либо снижения скорости ответа.