feat: implement autonomous Bybit demo trading agent
This commit is contained in:
50
README.md
Normal file
50
README.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user