Торговый бот для ByBit — это автоматизированная система, которая:
- Подключается к Telegram-каналу.
- Анализирует входящие сигналы на покупку и продажу.
- Выполняет спотовые сделки на бирже ByBit в тестовой или основной сети.
- 📩 Подключение к Telegram: Обработка сигналов о покупке/продаже.
- 🔄 Интеграция с ByBit: Автоматическое выполнение сделок.
- 🧪 Работа с тестовой сетью ByBit: Для безопасного тестирования.
- 📊 Работа с основной сетью ByBit: Для торговли на реальном счете.
- 🛠 Расширенное логирование: Для отслеживания работы программы.
- 🛡 Минимальная проверка параметров сделки: Учет лимитов биржи.
- Python 3.8 и выше
- Установленные библиотеки (см.
requirements.txt
) - Аккаунты на Telegram и ByBit
-
Клонируйте репозиторий:
git clone https://github.com/ваш-username/ваш-репозиторий.git cd ваш-репозиторий
-
Установите зависимости:
pip install -r requirements.txt
-
Создайте файл
.env
: В корневой папке создайте файл.env
и добавьте в него параметры:# Telegram API TELEGRAM_API_ID=<Ваш_Telegram_API_ID> TELEGRAM_API_HASH=<Ваш_Telegram_API_HASH> # API ByBit (основная сеть) BYBIT_API_KEY=<Ваш_ByBit_API_KEY> BYBIT_API_SECRET=<Ваш_ByBit_API_SECRET> # API ByBit (тестовая сеть) BYBIT_API_KEY_TEST=<Ваш_ByBit_API_KEY> BYBIT_API_SECRET_TEST=<Ваш_ByBit_API_SECRET>
- Зайдите на сайт Telegram API.
- Создайте новое приложение и получите
api_id
иapi_hash
.
- Зарегистрируйтесь на ByBit (или войдите).
- Создайте API-ключи для тестовой сети в API Management.
- Создайте API-ключи для основной сети в API Management.
- Настройте параметры сети в которой будете работать (осносная / тестовая).
- Для этого укажите соответствующие API и статус тестовой сети:
class ByBitHandler:
"""
Класс для работы с API ByBit: покупка и продажа активов.
"""
def __init__(self):
self.session = HTTP(
api_key=BYBIT_API_KEY_TEST, # Указываем соответствующий API KEY для тестовой или основной сети
api_secret=BYBIT_API_SECRET_TEST, # Указываем соответствующий API SECRET для тестовой или основной сети
testnet=True # True - работаем с тестовой сетью. False - с основной.
)
- Задайте параметры подключения к Telegram
API_ID = os.getenv("TELEGRAM_API_ID")
API_HASH = os.getenv("TELEGRAM_API_HASH")
SESSION_NAME = "session_name"
CHAT_ID = "@ai_for_live_content" # Укажите реальный ID или username
- Тестирование Telegram API: Проверьте подключение к Telegram API, выполнив:
python tests/test_telegram_api.py
После успешного подключения вы увидите имя вашего аккаунта в консоли.
- Тестирование ByBit API: Проверьте подключение к ByBit API, и получение баланса выполнив:
python tests/test_bybit_api.py
После успешного выполнения вы увидите текущий баланс USDT в консоли.
- Убедитесь, что вы используете тестовую сеть ByBit для безопасного тестирования.
- Telegram-аккаунт должен быть авторизован для работы с каналами или чатами.
- Бот настроен на спотовую торговлю используя счет "единого торгового аккаунта".
❗ Пред финальным запуском не забудьте переключиться с тестовой на основную сеть.
-
Запуск программы:
python main.py
-
Ожидание сигналов: После запуска программа будет подключена к указанному Telegram-каналу и обрабатывать поступающие сигналы.
-
Логи: Все действия записываются в файл
main.log
.
Модуль | Описание |
---|---|
main.py |
Главный модуль для запуска программы |
telegram_handler.py |
Обработка сигналов Telegram |
bybit_handler.py |
Интеграция с ByBit |
logging_config.py |
Настройка логирования |
🚀 AVAX/USDT LONG on BINANCE BUY TIME 15:41 GMT (+3 MSK) ✅ BUYING COMPLETED 📈 AVERAGE PRICE: 52,6 USDT Trade AVAX/USDT on Binance |
❌ CRV/USDT on BINANCE SELL TIME 14:39 GMT (+3 MSK) 🆑 POSITION CLOSED 📉 AVERAGE PRICE: 1,231475 USDT 💰 TAKE PROFIT: 0,44 % Trade CRV/USDT on Binance |
Бот распознает такие сообщения и автоматически покупает или продает актив.
Буду рад вашему вкладу в проект! Если у вас есть идеи для улучшения, открывайте issues или отправляйте Pull Requests.
Проект распространяется под лицензией MIT.
- 🔗 GitHub: Anonym26
- 🚀 Проект был создан для автоматизации сигналов из Telegram и интеграции с API ByBit.
✨ Наслаждайтесь автоматизированной торговлей! 🚀