Files
llm-trade-bot/README.md

51 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LLM Trade Bot
Автономный DeepSeek-агент для выделенного **Bybit Demo Trading** аккаунта. Бот анализирует Spot и Linear USDT-рынки два раза в день, умеет искать рыночный контекст в интернете и управляется через Telegram.
Сервис принципиально не поддерживает production endpoint Bybit. Размер позиции и все лимиты проверяются обычным кодом непосредственно перед отправкой ордера.
## Возможности
- новая stateless-сессия `micro-agents` для каждого анализа;
- долговременные `note` и односторонние `ask_admin` через SQLite/Telegram;
- сканер ликвидных Spot и Linear инструментов, свечи 1h/4h/1d, стакан и индикаторы;
- Brave Search и безопасное чтение выбранных публичных HTTPS-страниц;
- максимум 2% equity риска на идею, 40% gross exposure, пять идей и 3x Linear leverage;
- обязательный exchange-side stop-loss, TP или trailing для Linear, TP/SL для Spot;
- Telegram-команды, приватный Bybit WebSocket, аудит и восстановление состояния через REST.
## Подготовка
1. Создайте ключ в основном аккаунте Bybit после переключения в **Demo Trading**, а не на testnet.
2. Настройте Unified account в `ISOLATED_MARGIN` и one-way position mode. Для Spot margin borrowing не используется.
3. Создайте Telegram-бота и получите `api_id`/`api_hash` приложения Telegram.
4. Получите DeepSeek API key и Brave Search API key.
5. Скопируйте `config.example.toml` в `config.toml` и замените все секреты. `config.toml` исключён из Git.
```powershell
Copy-Item config.example.toml config.toml
uv sync
uv run llm-trade-bot --config config.toml
```
По умолчанию анализ запускается в 09:00 и 21:00 `Europe/Warsaw`. Пропущенные во время остановки процесса запуски не воспроизводятся.
## Telegram
Доступ имеют только ID из `telegram.admin_user_ids`:
- `/status`, `/positions`, `/orders`, `/last`, `/notes`;
- `/pause`, `/resume`;
- `/run` для внепланового анализа;
- `/help`.
`/pause` запрещает новые агентские сессии и входы, но уже размещённые защитные ордера остаются на Bybit.
## Тесты
```powershell
uv run pytest
```
Тесты не используют реальные ключи и не создают ордера. Перед первым полноценным запуском рекомендуется пополнить Demo Trading только USDT и проверить `/status`, `/positions` и `/orders`.