Никита Лысенок
Никита Лысенок личный блог
21 октября 2026, 17:45

Мы собрали терминал для Hyperliquid. А потом поняли, что он слишком умный

После истории с MEXC, где мы упёрлись в риск-контроль биржи, переключились на Hyperliquid и начали строить собственный торговый терминал.

И довольно быстро совершили классическую инженерную ошибку.

Сделали слишком много.

Этим постом начинаю новую серию — «Стройка терминала». Буду показывать её примерно так же, как раньше показывал другие наши продукты: что сделали, что сломали, от чего отказались и почему.

Раньше я уже отдельно разбирал всю лестницу торговой инфраструктуры — от мобильного приложения до FPGA и коллокации:

https://smart-lab.ru/blog/1358049.php

Теперь добрались до практики и строим своё.

Мы собрали терминал для Hyperliquid. А потом поняли, что он слишком умный

Что получилось 🧭

Основа — настольный терминал на Rust.

Основная разработка сейчас идёт под Mac, но проект собирается и под Windows, и под Linux.

Один из главных принципов архитектуры — максимум должно происходить локально на компьютере пользователя.

Расчёты выполняются локально.

Ключи хранятся в системном защищённом хранилище.

А сам терминал в принципе не должен уметь выводить или переводить деньги.

Сейчас под капотом примерно:

231 тысяча строк кода;

4809 тестов;

564 инструмента Hyperliquid;

spot, perpetual futures и HIP-3;

собственная обработка стакана;

Binance как дополнительный источник внешних цен.

Отдельно повоевали с производительностью.

Написали собственную часть разбора JSON, которая в наших тестах оказалась примерно в 4,7 раза быстрее решения, которое использовали до этого.

Вроде звучит неплохо.

Вот только есть проблема.

Мы сделали почти всё, кроме самого главного.

Мы собрали терминал для Hyperliquid. А потом поняли, что он слишком умный

Что пошло не так 📊

Мы начали добавлять функции быстрее, чем успевали отвечать на вопрос:

кому вообще нужен этот продукт?

Получился настоящий комбайн.

Режим «Скальпинг» с лестницей и торговлей с клавиатуры.

Межбиржевой спред.

Конструкции из двух, трёх, четырёх и даже шести ног.

Графики и анализ в духе TradingView.

Расчёт риска до стопа.

Инвестиционный режим.

Портфель.

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

Просмотр кошелька по адресу.

Учебный счёт по живым ценам с нормальной маржой и ликвидацией.

И даже отдельный раздел «ИИ», который должен отвечать на вопросы вроде:

«Сколько раз такая ситуация уже встречалась?»

А в бэклоге лежало ещё 148 идей.

Самое смешное — почти каждая функция по отдельности действительно работала.

Но вместе они создавали продукт, который не мог нормально ответить на один элементарный вопрос:

для кого ты?

И здесь появляется совсем прекрасная деталь.

При примерно 231 тысяче строк кода во всём этом терминале до сих пор нельзя было совершить ни одной реальной сделки.

Подпись заявок и нормальную работу с ключами мы откладывали ради очередного:

«А давайте ещё вот этот режим добавим».

Классика 🙂

20 октября остановились

В какой-то момент пришлось буквально прекратить разработку новых функций.

И задать себе два вопроса.

Кто будет первым реальным пользователем?

Что ему действительно нужно в первый день?

Ответ оказался намного уже нашего терминала.

Первый пользователь — скальпер на Hyperliquid и Bybit.

Ему нужны:

быстрый стакан;

лестница;

торговля с клавиатуры;

мгновенное выставление и снятие заявки;

межбиржевой спред;

perpetual futures на акции против реальной цены базового актива;

понятная позиция и P&L.

И главное:

реальный счёт.

Не двадцать аналитических режимов.

Не очередная красивая вкладка.

Не ИИ ради ИИ.

Возможность нажать кнопку и получить нормальную, предсказуемую заявку на бирже.

Мы собрали терминал для Hyperliquid. А потом поняли, что он слишком умный

Решение: режем до MVP 🎯

Большую часть уже написанного мы не удалили.

Просто спрятали.

Аналитика.

Инвестиции.

Портфель.

Часть индикаторов.

ИИ.

Дополнительные режимы.

Всё это остаётся в коде, но пока не входит в первый продукт.

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

Потому что сейчас задача одна:

сделать один сценарий действительно хорошо.

Скальпер открыл терминал.

Увидел рынок.

Выставил заявку.

Получил подтверждение.

Закрыл позицию.

И нигде по дороге не возник вопрос:

«А что сейчас вообще произошло?»

Вот это сейчас важнее ещё пятидесяти функций.

Что делаем дальше 📈

Первый этап — реальная торговля на Hyperliquid.

Нужен отдельный ключ-агент с торговыми правами, но без возможности вывода средств.

Дальше — корректная подпись заявок и обязательная сверка состояния каждой заявки непосредственно с биржей.

Не:

«мы отправили запрос и вроде всё хорошо».

А понятная конечная машина состояний:

создана;

отправлена;

принята;

частично исполнена;

исполнена;

отменена;

отклонена.

Без серых зон.

После этого — Bybit.

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

скальпинг на нескольких площадках;

полноценный стакан;

объём;

дельту;

брекет-заявки;

перетаскивание заявок;

живой межбиржевой спред;

связки perpetual против базовой акции.

Как поймём, что MVP готов

Цель — первая нормальная версия к концу декабря.

Но хочется измерять готовность не словами:

«вроде работает».

А конкретными критериями.

Сначала — 1000 заявок в симуляции.

Потом — тестовая среда.

Потом — минимум 100 реальных заявок на микросуммах на обеих биржах.

И ни одного статуса:

«непонятно, что произошло».

От нажатия клавиши до формирования и отправки заявки из терминала целимся максимум в 1 миллисекунду.

Здесь важная оговорка: речь именно о внутренней задержке нашего терминала.

Сетевой путь до биржи и дальнейшее исполнение — уже отдельная история.

В январе–феврале хочу торговать через терминал сам.

Минимум 50 реальных сделок за две недели.

Ни одного инцидента с ключами.

После этого — закрытая бета примерно на 10 скальперах.

И только потом имеет смысл снова открывать шкаф со 148 прекрасными идеями 🙂

Зачем вообще свой терминал

Самая интересная часть для меня здесь не в том, чтобы сделать ещё один интерфейс для покупки BTC.

Таких интерфейсов и без нас хватает.

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

Например:

одновременно видеть Hyperliquid и Bybit;

в один момент видеть спред между ними;

с одной клавиши открывать конструкцию;

видеть реальный объём в обеих ногах;

считать P&L всей связки, а не двух отдельных сделок;

сопоставлять perpetual на акцию с базовой ценой самой акции;

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

Для обычного инвестора это всё избыточно.

Для скальпера или арбитражника — в этом и заключается продукт.

Именно поэтому теперь сознательно перестаём делать терминал «для всех».

Мы собрали терминал для Hyperliquid. А потом поняли, что он слишком умный

Главный вывод для себя

Инженеру очень легко влюбиться в разработку.

Каждая новая функция работает — значит хочется сделать следующую.

Потом ещё одну.

Потом ещё.

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

Мы довольно много времени потратили на ширину там, где сначала нужна была глубина в одном месте.

Теперь исправляем.

Продукт проверяется не количеством экранов.

Не количеством строк кода.

Не количеством режимов.

И даже не количеством тестов.

Он начинается в тот момент, когда через него проходит первая настоящая сделка — и пользователь понимает каждое её состояние от нажатия клавиши до исполнения.

Посмотрим, сколько ещё вещей придётся выкинуть по дороге 🙂

Что будет в серии дальше

Хочу эту разработку показывать последовательно.

Не рекламными картинками в духе:

«смотрите, какой красивый терминал».

А именно стройкой.

Как храним ключи.

Как подписываем заявки.

Где теряем микросекунды.

Как собираем стакан.

Как синхронизируем две биржи.

Как считаем spread.

Что происходит, если одна нога исполнилась, а вторая нет.

Какие решения пришлось выбросить после реальных тестов.

И в какой момент программа наконец превращается из интересного инженерного проекта в инструмент, через который я готов торговать собственными деньгами.

Вот это, думаю, будет значительно интереснее.

👉 А вы с чего бы начали: с одного режима, доведённого до блеска, или с широкого набора функций, чтобы сначала понять, что вообще нужно пользователям?

P.S. Параллельно у нас остаётся ещё одно направление — SDF Bonds, облигационный скринер, который мы раньше развивали внутри команды.

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

Но проект никуда не исчез.

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

В следующей итерации фокус как раз хотим сильнее сместить с обычного скрининга облигаций в сторону поиска конкретных рыночных неэффективностей.

Так что «Стройка» постепенно будет не только про терминал. Будет ещё много внутренней кухни по самим торговым инструментам и продуктам.

А пока — терминал.

Один пользователь. Один основной сценарий. Первая реальная заявка.

С этого и начинаем.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
8 Комментариев
  • RoboScalp
    21 октября 2026, 20:15
    ЗАЧЕМ???
    Есть же православный Quik
  • wrmngr
    21 октября 2026, 21:05
    Шестисотый экземпляр на высококонкурентном рынке. Зачем?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн