← К странице бота

Инструкция к Whalebot

Бот следит за крупными прибыльными трейдерами («китами») на Hyperliquid и торгует на Bybit: по их общему перевесу или вслед за одним из них. Индикаторы выбирают момент входа.

Это не источник гарантированного дохода. Копирование чужих позиций запаздывает, киты ошибаются и хеджируются на других площадках. Начинайте с демо-счёта; на реальном держите только те деньги, которые не жалко потерять.
1. Запуститеwhalebot.exe двойным щелчком или docker compose up -d. Откроется страница бота.
2. Введите ключКнопка «Ключи» → демо-ключ Bybit с правом торговли. Бот проверит его и начнёт работу.
3. Выберите режим«Авто: все киты», «Авто: один трейдер» или «Ручной». Плечо и индикаторы — в строке настроек.

1Запуск

Есть три способа. Используйте один: два бота на одном счёте мешают друг другу.

На сервере whalebot.pw

Ничего устанавливать не нужно: откройте whalebot.pw, войдите по логину и паролю, которые выдал администратор, и введите свои ключи Bybit. Бот работает на сервере круглосуточно (раздел 15).

Одним файлом

  1. Положите whalebot.exe в отдельную папку. При первом запуске рядом появится config.yaml (настроен на демо-счёт Bybit); файл .env с ключами и Telegram кладётся рядом по желанию.
  2. Запустите двойным щелчком. Откроется окно с журналом и страница бота в браузере.
  3. Папка data с базой бота появится рядом с файлом. Чтобы остановить бота, закройте окно.

В Docker

docker compose up -d --build     запустить
docker compose logs -f            смотреть журнал
docker compose down               остановить

Страница бота в обоих случаях: http://127.0.0.1:8080.

Остановка бота не закрывает позиции. Они остаются на бирже. Работают только те стопы и тейки, которые выставлены на самой бирже (раздел 7).

2Первые шаги

  1. Создайте на Bybit ключ для демо-торговли: переключитесь в Demo Trading, раздел API. Нужно право торговли контрактами, право вывода не нужно.
  2. На странице бота нажмите «Ключи», выберите «Демо-счёт», вставьте API key и API secret, нажмите «Проверить и сохранить».
  3. Выберите режим в шапке: «Авто: все киты», «Авто: один трейдер» или «Ручной».
  4. Проверьте строку настроек: плечо (по умолчанию 1) и вход по индикаторам; таймфрейм свечей — в разделе «График».
  5. Дайте боту поработать на демо хотя бы несколько дней, прежде чем думать о реальном счёте.

Без ключа бот может работать только «на бумаге» (mode: paper в настройках): сделки записываются, но на биржу не уходят.

3Что где на странице

Шапка
Состояние бота (работает, на паузе, остановлен), переключатель счёта «Демо / Реальный», кнопка «Ключи», три кнопки режима, ссылка на эту инструкцию и время последнего цикла. Цикл идёт раз в 20 секунд. На сервере здесь же написано, кто вошёл, и есть кнопка «Выйти».
Строка настроек
Плечо, число трейдеров и переключатель «Вход по индикаторам». Плечо действует на все новые позиции, индикаторы — только на входы по консенсусу китов (раздел 5).
Счёт и график счёта
Размер счёта, изменение за сегодня (сутки по UTC), результат закрытых сделок и комиссии.
Позиции бота
Строка на позицию: монета, сторона, размер, вход, текущая цена, результат, поля «Стоп» и «Тейк», кнопки ✓ и «Закрыть». Справа — форма ручной сделки.
График
Свечи выбранной монеты с индикаторами, по которым бот решает, входить ли сейчас (раздел 6). Монета выбирается щелчком по её названию в любом разделе.
Куда смотрят киты / Позиции трейдера
В режиме «все киты» — сколько трейдеров в шорте и в лонге по монете и что с ней делает бот: «бот в лонге», «перевес», «ждёт отката» или другая причина, по которой входа пока нет (раздел 9, «Сигнал есть, а бот не входит»). Наведите мышь на отметку — появится пояснение. В режиме «один трейдер» — позиции этого трейдера и что из них открыто у вас.
Трейдеры
Отобранные трейдеры по убыванию доходности за месяц. «Копировать» включает режим «один трейдер». Адрес ведёт на страницу кошелька в Hyperliquid.
Сделки и события
Что бот открыл и закрыл и о чём предупреждал. Результат любой команды со страницы появляется в событиях в течение 20 секунд.
История ордеров
Все сделки бота: время, монета, действие, количество, цена, сумма, комиссия, результат и причина. Подгружается по 50.

4Три режима торговли

Авто: все китыАвто: один трейдерРучной

Авто: все киты

Раз в 6 часов бот скачивает рейтинг Hyperliquid и оставляет до 60 трейдеров (число меняется на странице, поле «Трейдеров»): счёт от $1 млн, доходность за месяц от 10%, прибыль за неделю и за всё время, не маркет-мейкер.

Авто: один трейдер

Бот повторяет позиции одного кошелька: открывает, увеличивает, сокращает и закрывает вслед за ним.

Трейдер выбирается кнопкой «Копировать» в разделе «Трейдеры». Любой другой кошелёк — командой copy 0x… (раздел 11).

Копируя одного трейдера, вы берёте его риск целиком. Высокая доходность за месяц часто означает одну крупную ставку.

Ручной

Бот сам не открывает и не закрывает сделки. Вы открываете их формой «Открыть вручную» и закрываете кнопкой «Закрыть». Стоп, тейк и дневной лимит убытка продолжают работать.

Смена автоматического режима закрывает автоматические позиции, которые новому режиму не соответствуют. Страница спросит подтверждение.

5Плечо, индикаторы, таймфрейм

Строка настроек под шапкой. Всё, что здесь задано, действует на новые позиции; уже открытые не меняются.

Плечо
По умолчанию 1. Введите число и нажмите ✓. Применяется к автоматическим и ручным сделкам; биржа урежет его до максимума по монете. У демо и реального счёта плечо своё.
Трейдеров
Сколько трейдеров из рейтинга отслеживать, по умолчанию 60, не больше 150. Больше трейдеров — больше монет, по которым есть сигнал: с 30 трейдерами сигнал обычно есть по 5–7 монетам, с 60 — по 15–17. Новое число действует на следующем цикле: при увеличении добираются следующие по рейтингу, при уменьшении уходят трейдеры с наименьшей прибылью за месяц. Потолок охвата — монеты, которые торгуются на Hyperliquid (около 170 из 790 пар Bybit): по остальным у китов позиций не бывает.
Вход по индикаторам
Киты задают направление, индикаторы — момент. Включено по умолчанию; кнопка «вкл/выкл» отключает фильтр, и бот входит сразу по сигналу китов.
Таймфрейм
Выбирается в разделе «График»: 15м, 1ч, 4ч, 1д. Те же свечи читают индикаторы бота. Чем крупнее, тем реже входы и тем глубже откаты, которых бот ждёт.
На что фильтр не влияет
Ручные сделки, увеличение уже открытой позиции и любые выходы: стопы, тейки, закрытия по сигналу.

Правило входа «на откате»

ЛонгШорт
ОткатStochastic(14, 3) не выше 30 — цена у локального днаStochastic не ниже 70 — цена у локальной вершины
ТрендSuperTrend(10, 3) вверх или цена выше SMA(50)SuperTrend вниз или цена ниже SMA(50)
СтопНе ближе 2 ATR(14) от входа, если это дальше обычных 5%

Пока оба условия не выполнены, сигнал ждёт: у монеты в разделе «Куда смотрят киты» стоит «ждёт отката» (нет отката) или «тренд против». Нет свечей — входа нет, а в событиях появится предупреждение; «индикаторы не готовы» — свечи есть, но истории слишком мало или цена не двигалась.

Ждать придётся долго: это свойство правила, не сбой. Откат и тренд в ту же сторону редко случаются одновременно: откат, достаточно глубокий для нижнего уровня Stochastic, часто разворачивает SuperTrend и уводит цену под SMA, и причина меняется на «тренд против». На реальных свечах Bybit (BTC, ETH, SOL, HYPE, XRP, AAVE, лето–осень 2026) при уровнях 30/70 оба условия для заданной стороны выполнены на 6–11% 15-минутных свечей, паузы между такими моментами доходят до 3–4 суток; при прежних 20/80 было 1,5–7% и до 5 суток. На 1ч и 4ч паузы растут пропорционально длине свечи: недели и месяцы. Чтобы входить чаще, смягчите entry_filter.oversold / overbought в config.yaml (40/60 даёт вдвое больше моментов) или выключите фильтр кнопкой. На копирование одного трейдера фильтр не действует: его позиции открываются сразу.

6График

Раздел «График» показывает свечи монеты с теми же индикаторами, по которым бот решает, входить ли сейчас.

График обновляется каждые 10 секунд: последняя свеча дорисовывается по текущей цене. Свечи берутся с Bybit (на бумаге — с Hyperliquid).

7Позиции, стоп и тейк

Бот управляет только теми позициями, которые открыл сам. Позицию, открытую вами на сайте Bybit, он не тронет, по этой монете входить не будет и один раз сообщит о ней в событиях.

8Как бот защищает счёт

ЗащитаЧто происходит
Стоп-лоссЦена ушла против позиции на 5% (или до вашего уровня) — позиция закрывается. Повторный вход отложен на 6 часов или до смены сигнала.
Тейк-профитЦена прошла 10% в пользу позиции (или до вашего уровня) — позиция закрывается с прибылью.
Дневной лимитСчёт упал на 3% от значения на начало суток (UTC) — все позиции закрываются, новые не открываются до следующих суток.
ПаузаНовые позиции не открываются, выходы работают.
СтопБот закрывает все позиции и новых не открывает, пока вы не вернёте его к работе.
Нет данныхЕсли не отвечают больше 30% трейдеров, бот не открывает сделки и не закрывает их по сигналу. Стоп-лосс работает. Молчание трейдера никогда не считается закрытием позиции.
Отказ биржиЕсли биржа отклонила ордер, бот ждёт 10 минут до следующей попытки и пишет причину в события.

Паузу и стоп включают командами из раздела 11.

9Ключи, демо и реальный счёт

Ключи

Кнопка «Ключи» в шапке открывает форму. Бот спросит у Bybit, чей это ключ, и откажется от него, если ключ неверный, только для чтения или может выводить средства. Принятый ключ хранится в файле data/keys.json на этом компьютере и обратно на страницу не выводится.

Ключ реального счёта создавайте с правом торговли контрактами, без права вывода, лучше с привязкой к вашему IP. Никому его не пересылайте.

Переключение на реальный счёт

  1. Введите ключ реального счёта в форме «Ключи».
  2. Нажмите «Реальный» и подтвердите словом «ДА».
  3. Бот окажется в ручном режиме и ничего не откроет, пока вы сами не выберете автомат. Плечо реального счёта — снова 1, пока вы его не смените.
У страницы нет пароля. Она доступна только с этого компьютера. Не открывайте её порт в сеть: кто видит страницу, тот может торговать вашим счётом, подменить ключи и переключить бота на реальные деньги.

10Telegram

  1. В Telegram откройте @BotFather, отправьте /newbot — он выдаст токен.
  2. Откройте своего нового бота и нажмите «Start». Без этого он не сможет вам писать.
  3. Узнайте свой числовой ID: напишите @userinfobot.
  4. Впишите оба значения в файл .env рядом с ботом и перезапустите его:
    TELEGRAM_BOT_TOKEN=1234567890:AA...
    TELEGRAM_CHAT_ID=123456789

В Telegram приходят открытия и закрытия сделок, стопы, предупреждения и карточки новых трейдеров. Бот слушается только чата с вашим ID.

11Команды

Что сделатьВ TelegramПосле whalebot.exe
Состояние/statusstatus
Пауза/pausepause
Вернуть к работе/resumeresume
Закрыть всё/stopstop
Копировать кошелёк/copy 0x…copy 0x…
Вернуться к китам/copy offcopy off
Список трейдеров—traders
Исключить трейдеракнопка в карточкеreject 0x…

Команды для exe пишутся в командной строке после имени файла: whalebot.exe status. В Docker — так: docker compose exec whalebot whalebot status.

pause, resume и stop не завершают программу — они меняют поведение работающего бота. После stop бот закрывает позиции и ждёт resume.

12Настройки

Файл config.yaml рядом с ботом. Любую строку можно удалить — тогда берётся значение по умолчанию. После изменения перезапустите бота. Плечо, фильтр входа и таймфрейм задаются на странице и хранятся в базе счёта.

ПараметрПо умолчаниюЧто значит
modebybit_demoСчёт: paper (на бумаге), bybit_demo, bybit (реальный)
selection.max_traders60Сколько трейдеров отслеживать (начальное значение; на странице меняется)
watch.poll_seconds20Период цикла бота, секунд
selection.min_account_value1 000 000Минимальный счёт трейдера, $
selection.min_month_roi0.10Минимальная доходность за месяц
selection.approvalautomanual — новых трейдеров подтверждаете вы в Telegram
consensus.enter_share0.6Доля голосов для входа (60%)
consensus.exit_share0.4Доля, ниже которой бот выходит (40%)
consensus.enter_min_votes3Минимум голосов для входа
risk.position_pct0.10Размер одной позиции, доля счёта (10%)
risk.max_positions5Одновременных позиций в режиме «все киты»
risk.stop_loss_pct0.05Стоп-лосс от цены входа (5%)
risk.take_profit_pct0.10Тейк-профит от цены входа (10%); 0 — не ставить
risk.daily_loss_limit_pct0.03Дневной лимит убытка (3%)
risk.stop_cooldown_hours6Запрет повторного входа после стопа, часов
mirror.scale1.0Копирование: 1.0 — та же доля счёта, 0.5 — вдвое меньше
mirror.max_exposure3.0Копирование: потолок суммарной позиции в размерах счёта (и не больше 90% плеча)
mirror.rebalance_threshold0.2Копирование: расхождение, при котором меняется размер (20%)
entry_filter.enabledtrueВход по индикаторам (переключается и на странице)
entry_filter.timeframe15mСвечи: 15m, 1h, 4h, 1d (меняется кнопками у графика)
entry_filter.oversold20Лонг только при Stochastic не выше
entry_filter.overbought80Шорт только при Stochastic не ниже
entry_filter.sma_period50Период SMA
entry_filter.supertrend_period10SuperTrend: период ATR; множитель — supertrend_mult (3.0)
entry_filter.atr_stop_mult2.0Стоп не ближе стольких ATR от входа; 0 — только процентный стоп
dashboard.port8080Порт страницы

Доли записываются числом от 0 до 1: 0.05 — это 5%.

13Если что-то пошло не так

«Нужен ключ»
В настройках выбран счёт Bybit, а ключа нет. Введите его в форме «Ключи» — бот начнёт работу сам.
На странице нет кнопок «Демо» и «Реальный»
Бот работает «на бумаге» (mode: paper в config.yaml): счетов Bybit в этом режиме нет. Поставьте mode: bybit_demo и перезапустите.
«Лицензия не действует»
У whalebot.exe нет файла license.key рядом, он выписан другому компьютеру, его срок истёк или администратор его отозвал. Exe печатает код этого компьютера: сообщите его администратору и положите полученный файл рядом с exe (раздел 16).
«Форма отправлена не с этой страницы» при входе
Страница входа была открыта давно или из другого окна. Откройте whalebot.pw/login заново и войдите ещё раз.
«Слишком много попыток»
После пяти неверных паролей вход для этого логина закрывается на минуту. Подождите и проверьте раскладку.
«Порт 8080 занят»
Бот уже запущен в другом окне или в Docker. Остановите тот экземпляр или смените dashboard.port.
«You must sign the required agreement before trading this contract»
Для контрактов на акции и металлы Bybit требует один раз принять соглашение. Войдите на сайт Bybit под основным аккаунтом, откройте такой контракт и попробуйте выставить ордер — появится окно «Trading Terms». Бот повторяет попытку каждые 10 минут.
Сигнал есть, а бот не входит
Смотрите отметку у монеты в разделе «Куда смотрят киты» (наведите мышь — будет пояснение): «мало голосов для входа» — перевес держится по мягким порогам выхода (40%, два трейдера), а для нового входа нужно 60% и три трейдера именно сейчас; «ждёт отката» или «тренд против» — индикаторы держат вход (только в режиме «все киты»); на 15-минутных свечах такое ожидание обычно длится часы, а бывает и несколько суток, на 1ч и 4ч — ещё дольше (раздел 5); «нет свечей» — биржа не отдала историю; «индикаторы не готовы» — истории слишком мало или цена стояла на месте; «пауза после закрытия» — позицию по монете недавно закрыл стоп, тейк или вы сами, повторный вход отложен на 6 часов; «нет свободного слота» — открыто максимальное число позиций; «монета не подходит» — нет на бирже, цены площадок расходятся, мало оборота или сделка меньше минимума; «на бирже чужая позиция» — по монете есть позиция, которую бот не открывал; «биржа отказала» — ордер отклонён (причина в событиях), повтор через 10 минут; «не хватает свободной маржи» — сделка в 10% счёта не помещается в свободную маржу: её держат другие позиции, чаще всего те, которых бот не открывал. Закройте их на бирже или уменьшите risk.position_pct. Если задерживают индикаторы, откройте график этой монеты: строка над ним говорит, чего не хватает. Фильтр можно выключить в строке настроек или смягчить пороги entry_filter.oversold / overbought в config.yaml.
«Данные китов устарели»
Hyperliquid не отвечает по большинству трейдеров. Бот ничего не открывает и не закрывает по сигналу, пока данные не вернутся; стопы работают. Обычно проходит само.
«Позиции … больше нет на бирже»
Позицию закрыл стоп или тейк на бирже, вы сами или ликвидация. Бот убрал её из своего списка. В «Сделках» такое закрытие не отражается, но счёт показывается верно: он читается с биржи.
В таблице трейдера написано «не копируется»
Причина указана рядом: монеты нет на Bybit, цены площадок расходятся, мало оборота или позиция слишком мала для вашего счёта.
«Ручная сделка отклонена»
Причина в том же сообщении: бот остановлен, по монете уже есть позиция, рынка нет или сумма меньше минимального ордера ($10).
«Отброшено команд со страницы»
Команда не успела выполниться до остановки или смены счёта. Бот не исполняет такие команды задним числом — повторите её.
Страница пишет «Бот не отвечает»
Программа не запущена или зависла. Проверьте окно с журналом или docker compose logs.
Нужно срочно всё закрыть
Команда stop (раздел 11) или кнопки «Закрыть» у позиций. Если бот не отвечает, закройте позиции на сайте Bybit.

14Чего бот не умеет

15Сервер whalebot.pw: вход и администратор

Клиенту

  1. Откройте whalebot.pw/login и войдите по логину и паролю от администратора. Сессия живёт 30 дней; кнопка «Выйти» в шапке.
  2. Нажмите «Ключи» и введите свой ключ Bybit (демо или реальный, с правом торговли и без права вывода). Ключ хранится на сервере в вашей папке и никому, включая других клиентов, не виден; один аккаунт Bybit нельзя подключить у двух клиентов.
  3. Дальше всё как в разделах 2–9: режим, плечо, индикаторы, позиции. Бот работает на сервере, пока включён доступ.

Если администратор выключил доступ, вход закрыт, а бот остановлен: позиции на бирже остаются, работают только стопы и тейки, выставленные на бирже.

Администратору

После входа открывается список клиентов /admin: доступ, состояние бота (работает, ждёт ключ, остановлен, «exe на связи»), счёт и введены ли ключи, режим, капитал, результат за сегодня, с начала и по закрытым сделкам, комиссии, позиции, время последнего цикла; сверху — итого по всем клиентам. Список обновляется каждые 5 секунд.

Создать и включить
Логин, имя и пароль (пусто — случайный). Пароль показывается один раз: сервер хранит только его хеш. Передайте его клиенту.
Открыть
Страница клиента с полным управлением его ботом; в шапке написано, чей это бот.
Выключить / Включить
Выключенный клиент не может войти, его бот останавливается (позиции на бирже остаются). Включение запускает бота снова.
Пароль, Имя
Новый пароль (клиент будет разлогинен) и отображаемое имя.
Лицензия, Отозвать
Лицензия для whalebot.exe на компьютере клиента (раздел 16). «Лицензия ✓» показывает код компьютера, срок и когда exe последний раз выходил на связь.
Удалить
После подтверждения логином: бот останавливается, учётная запись удаляется, папка с историей переезжает в data/clients-deleted, ключи биржи стираются.

16Лицензия whalebot.exe

whalebot.exe привязан к компьютеру: он запускается только с файлом license.key, выписанным для этого компьютера на сервере whalebot.pw.

  1. Запустите whalebot.exe. Без лицензии он напечатает код компьютера вида 27ED-C1B0-AA24-D54B-A154 и остановится. Тот же код печатает whalebot.exe license fingerprint.
  2. Сообщите код администратору. Он нажмёт у вас «Лицензия» на сервере и пришлёт файл license.key.
  3. Положите файл рядом с whalebot.exe и запустите снова. Проверить: whalebot.exe license check.

Exe раз в минуту сверяется с сервером и отправляет ему сводку (счёт, результат, позиции, режим), поэтому администратор видит ваш бот в списке как «exe на связи». Если сервер недоступен, exe продолжает работать по лицензии до её срока. Отозванная или истёкшая лицензия останавливает бота; позиции на бирже остаются. Переустановка Windows или замена материнской платы меняют код компьютера: тогда лицензию выписывают заново.