Общее назначение
Бот автоматически мониторит фьючерсный рынок MEXC (USDT‑пары, тип swap) и отправляет Telegram‑уведомления при обнаружении пампов или дампов за последние 10 минут, если изменение цены превышает 17%.
Технологический стек
• Python
• CCXT для взаимодействия с MEXC
• Aiohttp для Telegram API
• Asyncio для асинхронности
• Logging для логирования
• Dotenv для работы с конфигурацией
Используемые API и сервисы
• MEXC Futures Swap (через CCXT)
• Telegram Bot API (sendMessage)
Инициализация и конфигурация
• Загрузка переменных окружения
– MEXC_API_KEY
– MEXC_API_SECRET
– TELEGRAM_TOKEN
– TELEGRAM_CHAT_ID
• Настройка CCXT в режиме swap с ограничением запросов
• Настройка логирования в файл и консоль
Основные функции
• send_telegram — отправляет Markdown‑сообщения в Telegram.
• get_usdt_symbols — получает все swap‑пары с котировкой USDT.
• get_prices — загружает последние цены пачкой через fetch_tickers, включает обработку перегрузки API.
• monitor_changes — ядро бота, выполняет:
– отправку стартового уведомления
– загрузку списка фьючерсных пар
– постоянный мониторинг цен каждые 30 секунд
– хранение 10‑минутной истории цен по каждой паре
– расчёт процентного изменения
– отправку уведомления при превышении порога изменения
– обновление истории после обнаружения сигнала
Логика анализа изменения цены
• Хранение списка значений цены за последние 10 минут для каждой пары.
• Вычисление процента изменения:
Δ% = ((текущая цена − цена 10 минут назад) ÷ цена 10 минут назад) × 100
• Если |Δ%| ≥ 17% → отправляется уведомление:
– направление (памп / дамп)
– пара
– процент изменения
– период 10 минут
– текущее время UTC
Особенности работы
• Полностью асинхронная архитектура
• Защита от превышения лимита API
• Автоматическая очистка устаревших данных
• Автоматический перезапуск цикла мониторинга
Требования к запуску
• Файл .env с API‑ключами
• Python 3.10+
• Установленные зависимости ccxt, aiohttp, python‑dotenv