bybit-ws
Allows Hermes AI agents to scan Bybit markets, receive trading signals, and execute trades via the MCP protocol.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@bybit-wsscan the market for long signals"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
bybit-ws — AI-Native Trading Engine
Bollinger Grid с авто-входами, ATR-адаптивными SL/TP, трейлингом, DCA, self-learning и post-trade кластерным анализом. MCP-сервер для AI-агентов. Telegram/ntfy-алерты.
Архитектура модулей (v7.3)
┌─────────────────── MAIN LOOP (async, 30s) ───────────────────┐
│ main_async.py — главный цикл (asyncio) │
│ │
│ Каждый цикл: │
| • state_db.py — SQLite SSOT (WAL, 11 таблиц) |
│ • auto_sl.py — ATR-adaptive SL v2 (±k×ATR, 2% floor)│
│ • trailing_sl.py — подтяжка SL (LONG + SHORT) │
│ • auto_tp.py — ATR-based TP (1.0×/2.0×/3.0× ATR) │
│ • time_exit.py — Time exit (6ч/48ч) │
│ • риск-менеджмент — Circuit breaker, BlackSwan 3-tier │
│ │
│ Каждые 10 циклов (HEAVY, ~5 мин): │
│ • auto_entry.py — авто-LONG (MTF+OB+Volume+Judge) │
│ • auto_short.py — авто-SHORT + Dry Spell Throttle │
│ • pump_detect.py — детект пампов (24ч/нед) │
│ • correlation.py — корреляционная матрица │
│ • dca.py — DCA-докупки │
│ │
│ Раз в сутки (2880 циклов): │
│ • post_trade.py — кластерный анализ (WR<40% → блок) │
│ • journal/self_learn.py — self-learning + canary v3 │
│ │
│ Импорт истории (каждый цикл): │
│ • Bybit closed-pnl → trades.jsonl │
│ • → post_trade_features.jsonl (с 30.06) │
│ │
└───────────────────────────────────────────────────────────────┘
│
▼ RPC (порт 8766) + WS push (порт 8768)
• rpc.py — JSON-RPC, /metrics Prometheus
• push_notifier.py — ntfy + Telegram алертыПолный список файлов движка
Файл | Назначение |
| SQLite (WAL, 8 таблиц) — trade_history, cooldowns, alert_dedup |
| Главный цикл, RPC-сервер, оркестрация модулей |
| Bybit REST API: позиции, ордера, SL/TP, BB-данные |
| Конфиг: 8 стратегий, риск-менеджмент, tiers |
| Динамический сайзинг (% депозита × score × multiplier) |
| Авто-SHORT: Tier A/B (обычный) + JUNK C/D (памп-шорты без SL) |
| Авто-LONG: BB < порога, score ≥ мин |
| Авто-TP: 20% на Middle BB + 80% на Upper BB (LONG + SHORT) |
| Авто-SL: проверка и фикс стоп-лоссов (LONG + SHORT, tier-based) |
| Трейлинг-SL: LONG (BB>75%) + SHORT (BB<25%), PnL>15% |
| Трейлинг-TP для JUNK-шортов: фиксация 70% при +15%, 85% при +30% |
| Детект пампов: 24ч ≥80%, недельный ≥230% |
| DCA-докупки LONG при −5/−10/−15% от входа |
| Корреляционная матрица: блок при >80% корреляции |
| Мониторинг: ликвидации, BB-сквизы, фондинг, дневная просадка |
| Ротация вотчлиста перегретых монет |
| RSI-дивергенции |
| BB-сквиз детектор |
| Сводки, compliance-аудит (LONG + SHORT), coverage summary |
| Чистка просроченных/старых ордеров |
| Учёт торговых комиссий |
| Рециркуляция TP → ре-вход |
| Запись метрик (алерты, авто-входы) |
| Telegram-алерты, дедупликация |
| Снапшоты позиций/ордеров, детект изменений |
| HTTP-RPC сервер (:8766) — прямые вызовы api.bybit() |
Related MCP server: bybit-mcp
Режимы работы
LONG (BB Grid)
Триггер: BB Daily < порога (Tier A: <15%, B: <25%, C: <40%, D: <65%)
Плечо: 3x
Маржа: динамическая (депозит × 20% / макс_позиций × score_multiplier)
SL: −7% от Lower BB (trading-stop)
TP: 20% на Middle BB + 80% на Upper BB (лимитные reduceOnly)
Трейлинг SL: подтягивается при BB Weekly >75% и профите >15%
DCA: докупка при −5/−10/−15% от входа, макс 2 добавки
Макс позиций: 12
SHORT (хедж)
Триггер: BB Daily > 85%, Tier A/B/C/D монеты
Плечо: 3x
SL: +5% (Tier A/B), +7% (Tier C/D)
Trailing SL: BB Weekly < 25% + PnL > 15% → SL ползёт вниз
TP: Middle BB
Макс позиций: 3 (общий лимит с JUNK)
SHORT JUNK Tier C/D (памп-шорты) 🆕
Триггер: 24ч рост ≥ 80% + BB Daily > 70%
Плечо: 3x
SL: НЕТ (JUNK слишком волатильный — SL только жрёт маржу)
Защита: max_loss −15% маржи (hard market-close), max_hold 48ч (авто-закрытие)
Вход: лимитка Sell на +2% выше рынка (ждём отскока)
TP #1: Middle BB (лимитный reduceOnly Buy, ставится при входе)
TP #2 (трейлинг): при профите >15% → подтягивает TP, фиксируя 70% прибыли
TP #3 (трейлинг): при профите >30% → затягивает до 85% прибыли
DCA-лесенка: лимитки Sell на +100% и +120% от входа
Макс позиций: 3 (общий лимит с Tier A/B)
JUNK-шорт: полный жизненный цикл
1. pump_detect.py → памп +80% за 24ч
2. auto_short.py → лимитка Sell +2%, TP Middle BB, DCA +100%/+120%
3. check_junk_dca() → проверка max_loss/max_hold/DCA-уровней
4. junk_trail.py → профит >15%: TP подтянут (фиксация 70%)
5. junk_trail.py → профит >30%: TP затянут (фиксация 85%)
6. TP срабатывает → позиция закрыта с прибыльюSL Re-entry
После срабатывания SL — лесенка re-entry (price / 1.05, price / 1.10, price / 1.15)
До 3 попыток на монету
x10 Стратегии (высокий риск)
Стратегия | TF | Триггер | SL | TP | Макс поз |
Scalp M5 | M5 | Касание BB + RSI | −3% | Middle | 3 |
Mean Revert | D | BB <5% или >95% | −5% | Middle | 5 |
Funding Momentum | D | Фондинг ±0.1% + BB + тренд | −4% | Middle | 3 |
⚠️ x10 плечо — ликвидация при ~10% движения против позиции.
Формат уведомлений
🔴 SHORT JUNK HMSTR: вход $0.000373 лимит $0.000380 ×664190 (3x) | памп +120% | TP $0.000112 | DCA: +100% @ $0.000746, +120% @ $0.000821
🔴 SHORT MOVE: вход $0.0143 лимит $0.0146 ×700 (3x) | BB=92% | SL $0.0150 (+5%) | TP $0.0120
🔴 DCA JUNK HMSTR: +100% @ $0.000746 ×664190 | вход $0.000373 → сейчас $0.000750
🔒 JUNK Trail TP HMSTR: фиксация 70% при +22.5% | вход $0.000373 → TP $0.000210 (был $0.000112)
🛑 STOP JUNK HMSTR: убыток -16.2% > лимит 15% | вход $0.000373 → выход $0.000433 | PnL $-12.40
⏰ TIMEOUT JUNK HMSTR: 49ч > 48ч лимит | выход $0.000380 | PnL $-1.20Risk Management
Механизм | Детали |
Динамический сайзинг | депозит × risk% / max_positions × score_multiplier |
Просадка депозита | Alert + optional emergency close при −3% дневной / −15% общей (configurable) |
Дневной лимит убытка | Остановка торгов при −$50/день |
Корреляционный блок | Отказ от входа если ≥2 позиции с корреляцией >0.8 |
x10 защита | Макс 3 убыточных x10 сделки → кулдаун 24ч |
Каскадная защита | Market-close если цена в 2× ближе к ликвидации чем к SL |
Бан-лист | config-driven, постоянный |
JUNK защита | max_loss −15% маржи, max_hold 48ч, без SL |
BlackSwan multi-tier 🆕 | Tier 1: BTC -3%/15min → 50% |
Canary mode 🆕 | 10% входов с новыми self-learned параметрами, авто-rollback при падении WR |
Интерфейсы
REST API (порт 8766)
curl http://localhost:8766/health # статус
curl http://localhost:8766/positions # позиции (read)
curl http://localhost:8766/scan?mode=short # сканирование рынка
curl -H "Authorization: Bearer $TOKEN" \
-X POST http://localhost:8766/enter # вход (write, требует auth)MCP Server
# AI-агенты (Claude Code, Codex, Cursor, Hermes) подключаются напрямую
mcp_bybit_ws_get_positions() # позиции + PnL + SL
mcp_bybit_ws_scan_market() # BB-сигналы LONG/SHORT
mcp_bybit_ws_get_metrics() # дневная статистика
mcp_bybit_ws_vpn_status() # VPN + трафикPython SDK
from bybit_ws_sdk import Monitor
m = Monitor("http://localhost:8766", token="your-token")
# Сканирование рынка
signals = m.scan(mode="short", limit=5)
for s in signals["signals"]:
preview = m.enter(s["symbol"], "Sell", s["qty"], confirm=False)
print(f"Preview {s['symbol']}: sell {preview['qty']} @ market")
m.enter(s["symbol"], "Sell", s["qty"], confirm=True)
# Позиции и метрики
positions = m.positions() # все позиции + PnL + SL
metrics = m.metrics() # дневная статистика (SL/TP/entries)
pnl = sum(p["upnl"] for p in positions["positions"]) # общий PnL
# Управление
m.set_sl("DOGEUSDT", 0.075) # set stop-loss
m.close("APTUSDT") # закрыть позицию по рынку
m.cancel_all() # отменить все ордераБыстрый старт
Установка
git clone https://github.com/poliakarmai/bybit-ws.git
cd bybit-ws
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp config.example.yaml ~/.config/bybit-ws/config.yaml
cp .env.example ~/.config/bybit-ws/.env
nano ~/.config/bybit-ws/.env # BYBIT_API_KEY, BYBIT_API_SECRET
python3 -m bybit_ws # запускsystemd (рекомендуется)
mkdir -p ~/.config/systemd/user
cp bybit-ws.service ~/.config/systemd/user/
# Убедись что путь в ExecStart ведёт к bybit-ws:
which bybit-ws # должно быть ~/.local/bin/bybit-ws
systemctl --user daemon-reload
systemctl --user enable --now bybit-ws
systemctl --user status bybit-ws # проверка
journalctl --user -u bybit-ws -f # логиDocker
docker compose up -dTroubleshooting
Симптом | Причина | Решение |
| Не установлен пакет |
|
| Нет entry point |
|
RPC возвращает 401 | Неверный токен | Проверить |
Сервер не запускается | Пустой RPC_TOKEN + bind не localhost | Задать |
Bybit: «invalid API key» | Неверные ключи или testnet/mainnet | Проверить |
Позиции не открываются | Депозит < $30 или banned | Проверить |
Telegram-алерты не приходят | Не задан бот или чат | Проверить |
| Сервер не запущен или порт занят |
|
Высокий PnL минус при запуске | Нет стоп-лоссов | Дождаться первого цикла (30с), auto_sl выставит SL |
Конфигурация
Ключевые параметры ~/.config/bybit-ws/config.yaml:
api:
key: "${BYBIT_API_KEY}"
secret: "${BYBIT_API_SECRET}"
base_url: "https://api-testnet.bybit.com"
strategy:
long:
leverage: 3
max_positions: 12 # макс одновременных LONG-позиций (hard limit)
sl_offset: 0.07
short:
leverage: 3
max_positions: 3 # макс одновременных SHORT (включая JUNK)
bb_threshold: 85
junk: # 🆕 JUNK-шорты
daily_pump_threshold: 0.80 # 80% рост за 24ч
weekly_pump_threshold: 2.30 # 230% за неделю
dca_levels: [1.0, 1.2] # DCA на +100% и +120%
max_loss_pct: 15 # hard stop при −15% маржи
max_hold_hours: 48 # авто-закрытие через 48ч
risk:
max_drawdown_pct: 15
max_daily_loss: 50
emergency_close_all: true
position_sizing:
long_risk_pct: 0.20 # 20% депозита в риске
max_positions: 5 # база для расчёта маржи: депозит × risk% / N позиций
max_position_share: 0.40 # не более 40% бюджета на позицию
rpc:
port: 8766
auth_token: "${RPC_TOKEN}"Требования
Python 3.11+
requests,pyyaml,websocket-client,numpyBybit Unified Trading Account + API ключи (read/write + trading)
Linux (VPS $5/мес) или Docker
Безопасность
API-ключи:
Ключи через
~/.config/bybit-ws/.env→ читаются как${BYBIT_API_KEY}Никогда не коммить
.env(добавлен в.gitignore)chmod 600 ~/.config/bybit-ws/.env ~/.config/bybit-ws/config.yaml
RPC-сервер:
Write-эндпоинты (
/enter,/close,/set-sl) требуют `Authorization: Bearer⚠️ Если
RPC_TOKENне задан иbind ≠ 127.0.0.1— сервер откажется запускатьсяBind:
127.0.0.1по умолчанию. Для внешнего доступа —0.0.0.0
Bybit:
IP-whitelist для API-ключей (Bybit → Account → API Management)
Регулярная ротация ключей (раз в 90 дней)
Отдельные ключи для чтения и торговли (принцип минимальных прав)
Статистика
Реальные цифры зависят от рыночных условий. Прошлые результаты не гарантируют будущих.
🤖 GridSignal Bot (@Gridbolbot)
Telegram-бот сигналов Bollinger Grid.
Команды:
/scan Топ-5 LONG-сигналов
/scan short Топ-5 SHORT
/scan scalp BB Scalping x10
/scan mean Mean Reversion x10
/pro GridSignal Pro (безлимит)Подписка:
Тариф | Сканы | Цена |
🆓 Бесплатно | 3 /scan в день | 0₽ |
⭐ Pro | Безлимит + алерты | 300 Stars (~400₽) или ~2 TON |
Оплата: Telegram Stars + TON (CryptoBot).
Бот: @Gridbolbot
Код: ~/.local/bin/gridsignal-bot.py
Файлы документации
Файл | Содержание |
Полная документация: установка, работа, возможности, ошибки, логирование, проверки | |
Архитектура: компоненты, потоки данных, модель данных, Mermaid-диаграммы | |
API Reference: 20 RPC-эндпоинтов, 6 MCP-инструментов, curl-примеры | |
Безопасность: секреты, модель угроз, инциденты, аудит | |
Решение проблем: 13 категорий, 60+ причин | |
Дизайн стратегий: Bollinger Grid, scoring, риск-менеджмент | |
Навигация для AI-агентов, авто-обнаружение путей | |
История версий (Keep a Changelog) | |
Полный конфиг с комментариями |
Дисклеймер
Этот софт торгует реальными деньгами на фьючерсах с плечом до 10x. Можно потерять весь депозит. Авторы не несут ответственности за финансовые потери. Начинайте с testnet.
Лицензия
MIT
Built for AI agents. Ready for yours. Вопросы? Пиши @Poliakarm.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/poliakarmai/bybit-ws'
If you have feedback or need assistance with the MCP directory API, please join our Discord server