Бот для автоматической торговли на бирже Hyperliquid по графическим паттернам.
Работает 24/7 на VPS, ищет паттерны (ГИП, двойная вершина/дно, треугольник, клин)
на 1ч свечах с фильтром тренда по 4ч, открывает позицию через market_open,
ставит SL и два TP.
Старт всегда на Testnet. Переход на mainnet — только после успешного MVP.
- Каждые 5 минут опрашивает 5 пар: BTC, ETH, SOL, BNB, XRP.
- Берёт 200 свечей по 1ч и 200 по 4ч.
- На 4ч считает тренд по EMA(200) — Close > EMA → long, иначе short.
- На 1ч ищет 4 типа паттернов через библиотеку
tradingpatterns. - Для свежих сигналов (последние 3 свечи) считает entry, SL, два TP.
- Фильтрует: R/R ≥ 1.5 (или 2.0 для контртренда), funding-rate, защита от повтора.
- Ставит плечо = max по паре (BTC 40x, ETH 25x, альты 10–20x), риск 1% на сделку.
- Открывает позицию по рынку с slippage 1%, ставит триггерный SL и два триггерных TP по 50%.
- Всё пишет в SQLite (
data/trades.db) — журнал сделок и отвергнутых сигналов. - Стопы: 5 убытков подряд ИЛИ −7% drawdown → бот перестаёт открывать новые сделки.
В MVP НЕТ: Vstop, перенос в б/у, Xnn-доборы, Telegram, веб-UI, бэктест, доп. паттерны.
- Открой https://app.hyperliquid-testnet.xyz
- Подключи MetaMask. Адрес кошелька MetaMask =
HYPERLIQUID_ACCOUNT_ADDRESSв .env - На странице получи тестовые USDC через faucet.
- Перейди в Settings → API → Generate Agent Wallet.
- Сохрани приватный ключ агента (показывается ОДИН раз) — это
HYPERLIQUID_AGENT_PRIVATE_KEYв .env. Он начинается с0xи состоит из 64 hex-символов после0x.
Agent — это отдельный кошелёк, который имеет право торговать на твоём аккаунте, но не может выводить средства. Если ключ агента утекёт — атакующий не сможет украсть деньги.
- Зарегистрируйся на https://www.hetzner.com/cloud
- Cloud → Add Server.
- Image: Ubuntu 24.04
- Type: CX22 (4GB RAM) — около €5/мес. Хватит за глаза.
- Location: Frankfurt или Helsinki.
- Загрузи свой SSH-ключ или сохрани пароль root, выданный после создания.
- Получи IP сервера (например,
1.2.3.4).
Подключаемся:
ssh root@1.2.3.4Ставим зависимости системы:
apt update && apt install -y python3.10 python3.10-venv git sqlite3Кладём проект (вариант A — свой git):
git clone https://github.com/USER/hyperliquid_bot.git
cd hyperliquid_botВариант B — скопировать с локалки через scp:
# на локалке:
scp -r hyperliquid_bot root@1.2.3.4:/root/
# на VPS:
cd /root/hyperliquid_botСоздаём виртуальное окружение и ставим зависимости:
python3.10 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install git+https://github.com/white07S/TradingPatternScanner.gitКонфигурация:
cp .env.example .env
nano .envЗаполни в .env:
HYPERLIQUID_NETWORK=testnetHYPERLIQUID_AGENT_PRIVATE_KEY=0x…(приватный ключ агента из шага 1)HYPERLIQUID_ACCOUNT_ADDRESS=0x…(адрес твоего MetaMask)
Сохрани (Ctrl+O, Enter, Ctrl+X).
python -m bot.main --dry-run --onceДолжно вывести:
Account value: $...- лог обнаруженных паттернов и расчётных уровней
- БЕЗ реальных ордеров
Если ошибка про ключи — проверь .env. Если ошибка tradingpatterns not installed — установи библиотеку (см. шаг 3).
python -m bot.main --onceЕсли есть свежие паттерны и они проходят фильтры — бот откроет сделки на Testnet. Проверь в веб-интерфейсе Hyperliquid Testnet: позиции, SL, TP должны появиться.
Скопируй сервис, поправь пути в нём при необходимости:
cp systemd/hyperliquid-bot.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable hyperliquid-bot
systemctl start hyperliquid-botЛоги в реальном времени:
journalctl -u hyperliquid-bot -fПерезапуск после редактирования .env:
systemctl restart hyperliquid-botОстановка:
systemctl stop hyperliquid-botsqlite3 data/trades.db "SELECT id, coin, pattern, direction, entry, status, pnl_dollars FROM trades ORDER BY id DESC LIMIT 20;"Отвергнутые сигналы (видно почему не зашёл):
sqlite3 data/trades.db "SELECT created_at, coin, pattern, direction, rr, reason FROM rejected_signals ORDER BY id DESC LIMIT 20;"- Через Hyperliquid bridge закинь $200–500 USDC на свой основной кошелёк.
- На https://app.hyperliquid.xyz сгенерируй новый Agent Wallet (НЕ переиспользуй testnet-ключ).
- В
.env:HYPERLIQUID_NETWORK=mainnet HYPERLIQUID_AGENT_PRIVATE_KEY=<новый mainnet agent key> HYPERLIQUID_ACCOUNT_ADDRESS=<твой mainnet address> systemctl restart hyperliquid-bot- Первые сутки — смотри логи каждые пару часов.
| Флаг | Что делает |
|---|---|
| (без флагов) | Бесконечный цикл, итерация каждые 5 минут |
--once |
Один проход и выход |
--dry-run |
Не торгует, только пишет сигналы в журнал и логи |
Комбинируются: --dry-run --once.
hyperliquid_bot/
├── README.md ← этот файл
├── requirements.txt
├── .env.example
├── .gitignore
├── systemd/hyperliquid-bot.service
└── bot/
├── __init__.py
├── config.py настройки из .env
├── exchange.py обёртка над hyperliquid-python-sdk
├── detector.py детекторы паттернов + расчёт уровней
├── risk.py размер позиции, фильтры, circuit breaker
├── trader.py открытие сделки + SL + TP
├── journal.py SQLite журнал
└── main.py главный цикл, CLI
| Параметр | Дефолт | Что значит |
|---|---|---|
RISK_PER_TRADE |
0.01 |
Доля Account Value, которую готов потерять на одной сделке |
MIN_RR |
1.5 |
Минимальный R/R, чтобы зайти в сделку по тренду старшего ТФ |
MIN_RR_COUNTERTREND |
2.0 |
Минимальный R/R для сделок против старшего ТФ |
LEVERAGE_MODE |
max |
Использовать максимальное плечо по паре |
SLIPPAGE |
0.01 |
Допустимое проскальзывание на market-входе (1%) |
LOOP_INTERVAL_SEC |
300 |
Период основного цикла в секундах |
MAX_CONSECUTIVE_LOSSES |
5 |
После N убытков подряд бот замолкает |
FUNDING_BLOCK_THRESHOLD |
0.0005 |
|funding × 8| > этого порога → не входим в направлении funding |
Не задана переменная окружения: HYPERLIQUID_AGENT_PRIVATE_KEY—.envне создан или поле пустое.tradingpatterns not installed— забылpip install git+https://github.com/white07S/TradingPatternScanner.git.KeyError: -1в wedge — старая версия библиотеки. У нас вdetector.pyесть пропатченныйdetect_wedge, но если упало в импорте — обнови pandas/numpy.- Нет сделок несколько часов — это нормально, паттерны редкие. Смотри
rejected_signals— если все режутся поR/R, значит, рынок плоский. Order failedна Testnet — проверь, что у агента есть авторизация и баланс на основном кошельке (testnet faucet).
После 2 недель стабильной работы на testnet/mainnet:
- Vstop (трейлинг по ATR)
- Перенос SL в б/у после TP1
- Xnn доборы по тренду
- Расширить до Топ-20 пар × 5 ТФ
- Telegram-алерты
- Бэктест на исторических свечах
- Доп. паттерны: Флаг, 1-2-3, Поджатие