Механика биржевой торговли в криптовалютах нередко воспринимается как нейтральная инфраструктура: вы выставляете лимитный ордер, он попадает в стакан, и дальше всё решает рынок. На практике это не совсем так.
Ретейл-участник видит лишь результат исполнения, в то время как большинство решений принимаются до фактической сделки — на уровне реакции на сам факт появления вашего ордера. Эти реакции происходят за миллисекунды, и инициируют их не люди, а торговые боты, встроенные в инфраструктуру самой платформы или подключённые к ней через публичные API.
В этой статье мы разберём, как устроен order book на биржах типа Binance, OKX и Bybit, и какие манипуляционные паттерны можно наблюдать в реальном времени. Мы изучим:
как работают стратегии spoofing, layering и фронт-ран;
как с технической точки зрения реализуются эти механики через API/WebSocket;
какие данные можно собрать для анализа подозрительного поведения;
и какие ошибки допускает большинство частных трейдеров, глядя на «стены» в стакане.
При этом фокус будет не на финансовых последствиях, а на техническом аспекте — алгоритмах, скорости реакции, структуре сообщений и особенностях взаимодействия с биржевыми серверами.
Если вы когда-либо ставили лимитный ордер и замечали, что крупные заявки перед вами исчезают в момент исполнения — это не случайность. Это — сигнал, который можно распознать, если понимать, как работает стакан на самом деле, а не по теории из пользовательского интерфейса.
⚠️ Предупреждение: цель статьи — технический разбор. Здесь не будет советов по инвестициям, «скрытых стратегий» и магических индикаторов. Только факты, алгоритмы и реальные данные.
Продолжим с базового — разберём, как на самом деле работает книга ордеров на уровне сети, какие типы ордеров туда попадают, и чем отличаются заявки, предназначенные для трейдинга — и для воздействия на поведение других участников.

Как устроена книга ордеров: структура, API, реактивность
Книга ордеров — это не просто таблица заявок, отображаемая в терминале. Это стриминг-система реального времени, построенная на изменениях состояния (event-driven), где каждая новая заявка, отмена или исполнение — это событие, влияющее на поведение других участников.
На уровне публичных API — например, WebSocket-интерфейса Binance или Bybit — стакан представляет собой последовательность snapshot + updates:
Snapshot (срез состояния)
Содержит пары цен и объёмов на стороне покупки (BID) и продажи (ASK) — как правило, 20–100 уровней глубины.
{
"lastUpdateId": 1027024,
"bids": [["50000.00", "0.003"], ["49900.00", "1.200"]],
"asks": [["50100.00", "0.300"], ["50200.00", "2.000"]]
}
Этот срез — не живой, это начальная точка. Вся актуальность — в разнице между этим срезом и последующими изменениями, которые приходят через WebSocket.
Real-time updates (depthDiff)
Каждое обновление содержит изменение в уровне ордера:
Изменение количества
Появление/удаление уровня
Смещение внутри книги (если идёт активная агрессия маркет-ордерами)
Эти обновления приходят с интервалом в десятки миллисекунд, и часто с задержкой даже при подписке на самый быстрый stream.
{
"u": 1027025,
"b": [["50000.00", "0.000"]], // удалён уровень
"a": [["50150.00", "0.800"]] // добавлен уровень
}
Пользовательский UI (терминал, график стакана, стек ордеров) отображает агрегированные и часто задержанные данные. Интерфейс не отражает реальную очередность исполнения, времени появления ордера и тем более его происхождение (бот / человек / тестовая заявка).
Большинство решений принимается до визуализации, то есть:
вы видите стену в стакане,
она исчезает в момент, когда вы нажимаете кнопку,
вы считаете это совпадением.
На практике:
ордер отменён по алгоритму,
ваше действие было спровоцировано,
сделка с вами — не цель, а средство анализа реакции.
Кто формирует стакан
Важно понимать: в стакан попадают только лимитные ордера, т.е. заявки с указанием цены. Это могут быть:
Ручные заявки розничных трейдеров;
Алгоритмические ордера от ботов (чаще всего);
Псевдо-объём, размещённый не для исполнения, а для воздействия на поведение других участников.
Терминалы и биржи вроде Binance, OKX, Bybit не раскрывают данных о происхождении ордера. Но это не значит, что отличить их невозможно.
Обнаружить неестественные паттерны можно по:
скорости появления/удаления уровней,
регулярности размещения на определённом расстоянии от mid-price,
резкому появлению и исчезновению крупных ордеров (≥50 BTC) без исполнения.
Любой WebSocket-клиент (Python/Go/Node.js) может слушать изменения в стакане
import websockets
import asyncio
import json
async def listen_depth():
uri = "wss://stream.binance.com:9443/ws/btcusdt@depth"
async with websockets.connect(uri) as websocket:
while True:
msg = await websocket.recv()
data = json.loads(msg)
print(data["b"], data["a"]) # bids / asks
asyncio.run
(listen_depth())
Достаточно 5–10 минут сбора, чтобы увидеть первые аномалии:
«прыгающие» уровни в одном ценовом диапазоне;
ордера-«стены», исчезающие при попытке выставить маркет-ордер;
повторяющиеся паттерны, свойственные алгоритмам.
Order Book — это динамичная, реактивная среда, где каждый ордер не просто стоит, а влияет. И если вы видите на определённой цене 100 BTC, это не значит, что кто-то действительно хочет купить по этой цене. Это может быть:
проверка вашей реакции,
настройка уровней ликвидности для бота,
или подготовка к инверсии движения цены.
В следующих главах мы подробно разберём, как именно эти заявки используются для манипуляций, и какие техники при этом применяются на уровне алгоритма.
Манипуляции в стакане: Spoofing, Layering, Stop-Hunt — как это работает на практике
Когда говорят «манипуляции на рынке», чаще всего представляют себе сговор, инсайдерскую торговлю или pump & dump. На деле наиболее эффективные манипуляции — это те, которые происходят в пределах правил самой биржи.

Сейчас мы рассмотрим три механики, которые применяются ежедневно, тысячами ботов, на любой крупной площадке с публичным Order Book.
1. Spoofing: «ложные» ордера в действии
Что это: выставление крупных лимитных ордеров, которые не планируется исполнять — цель которых создать иллюзию интереса к уровню.
Принцип действия:
Алгоритм выставляет большую заявку (например, 150 BTC) в BID на 2 тика ниже текущей цены.
Другие участники видят «стену» и считают это уровнем поддержки.
Они выставляют свои ордера выше «стены», чтобы успеть раньше.
Spoofer снимает заявку за миллисекунды до касания — часто до того, как пользовательский интерфейс вообще успевает её показать.
Почему работает: большинство трейдеров интерпретируют размер заявки как намерение. Это ошибка: на бирже намерение — это исполнение, не размещение.
Технический аспект:
Такие ордера имеют TTL (time-to-live) в 100–200 мс.
Боты используют WebSocket-мониторинг depth и собственные latency-оптимизированные API-запросы (в т.ч. через colocation).
Пример кода: логика spoof-бота (упрощённо):
if price_near_support():
place_limit_order(price=X, amount=150)
sleep(0.15)
cancel_order()
🧠 Примечание: spoofing запрещён на регулируемых рынках (например, NYSE), но в крипте его почти невозможно доказать — API не раскрывает намерения, только факт размещения.
2. Layering: каскад давления
Что это: выставление серии небольших заявок, равномерно распределённых по стакану, чтобы создать эффект давления или поддержки.
Цель: не напугать «стеной», а создать структурный тренд в изменении глубины книги.
Принцип:
Разместить 5–10 заявок, например, от 100 USDT до 0.01 BTC, через каждые 2 тика вниз.
Имитация реального объёма, разбитого по уровням.
Заявки «дышат»: часть отменяется, добавляются новые — это создаёт ощущение «живой ликвидности».
Чем отличается от spoofing:
Spoof — единичный большой ордер.
Layering — распределённая серия мелких заявок, которые сложнее идентифицировать как манипуляцию.
Реализация:
Бот получает mid-price.
Выставляет каскад лимиток от mid-3% до mid-0.5%.
Отменяет при попытке пробоя снизу.
Почему эффективно:
Строит визуальный контекст: трейдеры начинают «видеть тренд» и принимают решения на его основе.
3. Stop-Loss Hunting: выжигатель ликвидности
Что это: резкое движение ценой до уровней, где размещено скопление стоп-ордеров, с целью вызвать волну ликвидаций или принудительных продаж.
Пример сценария:
Цена «висит» возле ключевого уровня поддержки (допустим, $89,100 по BTC).
Алгоритм продаёт крупный объём по рынку, пробивает уровень.
Срабатывают стопы и ликвидации на фьючерсах → каскад продаж.
Бот выкупает ликвидность на $88,600 — и цена возвращается вверх.
Где используются:
На маржинальных рынках (Binance Futures, Bybit).
В парах с высокой волатильностью.
Технически:
Используется публичный Order Book + funding rates + открытый интерес.
Анализ зоны ликвидаций и массовых стопов — по внешним источникам или историческим данным.
Инструменты анализа:
TensorCharts (отображение стопов).
Coinalyze (open interest).
Собственные боты через WebSocket + исторический dump ордеров.
Реальные паттерны в данных
За 30 минут наблюдения через WebSocket можно зафиксировать десятки событий:
заявка > 50 BTC появляется и исчезает за 150 мс;
каскад BID-заявок идёт по восходящему тренду с плотностью 1 тик;
после пробоя уровня на фьючерсах всплеск в объёмах и возврат на ±0.5%.
Если логировать все изменения стакана (например, в Pandas), можно визуализировать «спуфинг-сигнатуру» — это когда:
крупная заявка появляется и исчезает не один раз,
в момент её присутствия цена идёт в её сторону,
а исполнение не происходит ни разу.
Манипуляции стаканом — это не фантазия и не теория заговора. Это легальные (или почти легальные) техники, которые используют алгоритмы, чтобы повлиять на толпу. Не обманывая напрямую, а формируя контекст, на основе которого большинство трейдеров делают выводы.
Кто за этим стоит: как устроены боты, манипулирующие ордербуком
Если вы думаете, что за спуфингом и layer'ингом стоит человек в терминале с горячими клавишами, который вручную отменяет заявки — это уже давно не так. Все описанные выше действия — продукт алгоритмов. Причём не всегда агрессивных, зачастую — нейтральных и даже рыночных по логике.
Разберём, как устроены эти алгоритмы, на уровне архитектуры, стека и типов решений.
Компоненты типичного HFT-бота
Упрощённо, инфраструктура “стаканного” бота состоит из трёх слоёв:
1. Market Data Listener (интерфейс WebSocket / UDP)
Подключение к потокам:
Order Book (depth updates)
Trades stream (исполненные сделки)
Funding, liquidation feed (если фьючерсы)
Обычно это WebSocket или low-latency UDP (у некоторых платформ: BitMEX, Kraken).
Требование: latency < 100 мс, желательно < 10 мс.
2. Execution Engine
Это ядро логики, принимающее решения:
Где разместить лимитный ордер.
Когда отменить.
Как сместить слой ордеров при изменении тренда.
Часто построен на правилах (все укрощено, прошу понять):
if spread < threshold and imbalance_ratio > 1.5:
place_spoof_bid(price = mid - 3 ticks, amount = 80 BTC)
Или даже на reinforcement learning: агентов обучают “ловить” реакции толпы.
3. Order Manager / Risk System
Отвечает за:
Отмену ордеров (по TTL или по сигналу).
Защиту от частого размещения / банов со стороны API.
Логгирование событий (для бэктеста и разбора).
Типичный стек
Язык: Python (быстрый прототип), Go или C++ (прод), Java (в банках).
Data layer: Redis / Kafka / TimescaleDB (для стриминга цен).
Execution: REST+WS API биржи (для исполнения) + отдельный latency-sensitive слой для реакции.
Сценарий в реальном времени:
Вы размещаете лимитный ордер на покупку.
Бот видит через WS stream появление новой заявки.
Проверяет: не улучшает ли она BID. Если да — отменяет свою выше неё.
Если вы отменяете заявку — он возвращает свою.
Вы не замечаете этого визуально, но для системы вы — “сигнал”.
Эти действия возможны, потому что API WS-стримов публикуют заявки в открытом виде, а биржи не ограничивают частоту подписки и обработки сообщений.
Обычное интернет-соединение:
Ping до Binance = ~80–100 мс
Время между событием и реакцией — ~300–500 мс
У HFT-инфраструктуры:
Co-location или edge-серверы (Amazon SG, Binance AWS-hosted)
Задержка ~5–15 мс, full round-trip execution < 30 мс
Даже разница в 100 мс может позволить ботам “увидеть” вашу заявку, отреагировать, изменить поведение, а вы — даже не поймёте, что стали частью теста.
Как выглядит “реакция” бота
Время (UTC) | BID@49950 | ASK@49960 | Событие |
12:00:00.001 | 80 BTC | 10 BTC | Стенка в BID |
12:00:00.020 | 80 BTC | 10 BTC | Пользователь ставит 0.5 BTC выше |
12:00:00.030 | ордер на 80 BTC снят | 10 BTC | TTL или реакция бота |
12:00:00.050 | 60 BTC | 10 BTC | Новый spoof ниже |
Пример из логов:
Open-source примеры
Freqtrade — торговый фреймворк, можно построить пассивного стаканного наблюдателя.
ccxt — библиотека для подключения к десяткам бирж.
Jesse — платформа для стратегий (с акцентом на backtest и визуализацию).
Технический анализ стакана: данные, паттерны, сигнатуры и простые скрипты
Когда вы смотрите на ордера в стакане, вас чаще всего интересует "где стоят крупные заявки" и "куда идёт рынок". Но настоящая информация — не в цене, а в скорости и структуре изменений. Здесь начинается технический анализ второго уровня — анализ книги ордеров во времени.
Какие данные можно (и нужно) анализировать
Биржи, поддерживающие глубину стакана через WebSocket:
Binance Spot/Futures → @depth, @aggTrade
OKX → order-book-channel
Bybit → orderBookL2_25 или orderBookL2_200
С этими потоками можно отслеживать:
Появление и исчезновение уровней (особенно крупных).
Скорость изменений (частота update'ов на одном уровне).
Объём по каждой цене и его "нервозность" (нестабильность).
Сигнатуры манипуляций
1. Spoofing pattern
Появляется крупная заявка (> 30 BTC).
Стоит < 500 мс.
Не сопровождается сделками по этой цене.
Исчезает при приближении best price.
Автоматическое обнаружение:
Логировать depth в DataFrame.
Отслеживать время "жизни" каждого уровня.
Искать short-TTL (>10 BTC, <0.5с).
Полезное для доп прочтения:
2. Layering pattern
Равномерное распределение 3+ лимитных ордеров на BUY/SELL с шагом ±1 тик.
Все — одинакового размера или кратны.
TTL — 1–3 секунды.
Появляются одновременно, исчезают "каскадом".
📌 Часто боты используют шаблон вида:
for offset in range(1, 5):
price = best_bid - offset * tick_size
place_limit_order(price, size)
3. Fake breakouts / stop-hunt
Уровень поддержки пробивается маркет-ордером.
Сразу после — серия небольших исполнений.
Возврат к предыдущему уровню за 5–10 секунд.
Видны ликвидации/слив стопов (если фьючерсы).
Где смотреть:
TensorCharts — тепловая карта стакана.
Coinalyze — CVD, Open Interest.
TradingLite — footprint-графики.
Анализ «жизни» уровней
# pip install websocket-client pandas
import websocket, json
import pandas as pd
from datetime import datetime
levels = {}
def on_message(ws, message):
data = json.loads(message)
bids = data['b']
now = datetime.utcnow()
for price, amount in bids:
if price not in levels:
levels[price] = {'created': now, 'last_seen': now}
else:
levels[price]['last_seen'] = now
def on_open(ws):
ws.send(json.dumps({"method": "SUBSCRIBE", "params": ["btcusdt@depth"], "id": 1}))
ws = websocket.WebSocketApp("wss://stream.binance.com:9443/ws", on_message=on_message, on_open=on_open)
ws.run
_forever()
Это простейшая заготовка, которую можно доработать:
логировать TTL,
отмечать «аномальные» уровни (живут < 500 мс),
считать статистику по слоям BID/ASK.
Что делать с этим анализом
Логировать уровни и TTL — найти повторяющиеся паттерны.
Собирать heatmap по времени суток — когда spoofing активнее.
Подсвечивать аномалии прямо в UI/боте — показывать нестабильные уровни как «недостоверные».
Дополнительные материалы
High-Frequency Trading in Cryptocurrency Markets — исследование с реальными данными (arXiv)
Binance Order Book Explained (by Bitquery)
btb-manager-telegram — проект, где реализован Telegram-UI для бота с логами стакана
Любой, кто умеет парсить WebSocket, может начать фиксировать аномалии — и получать понимание, кто делает рынок, а кто бежит за ним. :)
Полезные материалы:
“The Psychology of Order Book Trading” by Tomas Nesnidal
Flash Boys 2.0 (HFT в крипте) — от Paradigm
Главное - понимать его структуру
Ты не обязaн «бороться» с манипуляциями — ты можешь:
Узнавать их по сигнатурам.
Оценивать достоверность сигналов по глубине стакана.
Фильтровать уровни по стабильности, TTL, плотности.
Принимать решения не из интерфейса, а из данных.
Заключение
Рынок — это поведение. Стакан — это язык.
Если ты научишься читать, а не реагировать, ты получишь преимущество, недоступное 90% участников.
Спасибо за то, что дочитал. Увидимся — в логах, графиках, и, возможно, в нашем клубе.
Если вы увлекаетесь ручной торговлей - трейдингом, то приглашаем в наш торговый чат. Для всех у нас открыты двери узнать поподробнее вы сможете в статье - ссылка.
У нас имеются открытые вакансии(не по айти специальности) подойдет для студентов, фрилансеров - ссылка на вакансии.
Если тебе близка эта аналитика — добро пожаловать.