Mark price против last price на Binance Futures: почему сделку закрыло, хотя график говорил обратное
Вы поставили стоп-лосс. График до него не дотянулся. Позицию всё равно закрыло. Первый порыв — обвинить биржу или списать на баг. Настоящая причина в том, что Binance Futures ведёт ликвидации и триггеры SL по другому ценовому потоку, не по тому, что показывает график: по mark price. Как только вы поймёте разницу, мнимый стоп-призрак становится предсказуемым, и его можно обыграть.
Две цены, две задачи
У каждой фьючерсной пары на Binance в любой момент есть минимум три разные «цены»:
- Last price — цена самой последней сделки по перпетуальному контракту.
- Mark price — составная «справедливая» цена из взвешенной смеси: (а) середина стакана перпетуала, (б) индексная цена с поправкой на фандинг и (в) спотовые цены на нескольких крупных биржах.
- Index price — чисто спотовый ориентир, усреднённый по крупным площадкам.
График, на который вы смотрите в TradingView, показывает last price. Риск-движок Binance, система, запускающая ликвидации и условные ордера, работает по mark price. На волатильных движениях они могут расходиться на 0,1-2% и больше.
Зачем нужны две цены
Mark price существует, чтобы защитить и трейдеров, и биржу от краткосрочных манипуляций. Если одна крупная сделка мигнёт last price на 5% на две секунды, прежде чем стакан вернёт цену обратно, вы не захотите, чтобы каждый плечевой лонг ликвидировали на этом фитиле. Mark price сглаживает временные вывихи через спотовый ориентир, так что ликвидации срабатывают, только когда широкий рынок действительно сдвинулся.
Обратная сторона: если монета пампится на нескольких спот-биржах раньше, чем перпетуал догоняет, mark price двигается первым, и ваш стоп срабатывает ДО того, как график перпетуала покажет тот же уровень. С вашей точки зрения, график до стопа не дотянулся. С точки зрения Binance, mark price дотянулся.
Как на самом деле считается mark price
Формула Binance опубликована. Mark price ≈ index price × (1 + funding rate × время_до_фандинга) + 5-минутная скользящая средняя премии перпетуал-спот. Проще говоря: mark price следует за спотовым ориентиром, а затем добавляет небольшую поправку на собственный расклад позиций перпетуала.
На спокойном рынке mark price и last price держатся в пределах нескольких базисных пунктов. На быстрых движениях расхождение может подскочить. Самый частый сценарий: спот ведёт, перпетуал отстаёт на 5-30 секунд, mark price идёт за спотом, last price идёт за стаканом перпетуала. Ваш стоп срабатывает по mark.
Три сценария, где вас ловит
Сценарий 1: памп на споте, отставание перпетуала
Спот BTC пампит с $60 000 до $61 500 за 10 секунд на Coinbase + Kraken + Bybit. Перпетуал Binance отстаёт, потому что стакану нужно больше времени, чтобы расчиститься. Mark price за секунды уходит к ~$61 400. Если у вас был шорт со стопом на $61 200, позицию закрывает, хотя last price перпетуала в тот момент был ещё на $60 900.
На графике выглядит так, будто стоп задел перпетуал на $61 200, хотя свечи доходили лишь до $60 950.
Сценарий 2: скачок фандинга, поправка премии
Фандинг платится в 00:00 UTC. Прямо перед выплатой трейдеры перекладываются, чтобы не платить. Это ненадолго сжимает или расширяет премию перпетуал-спот. Mark price пересчитывается с новой поправкой на премию. Стопы у прежнего уровня премии могут сработать от одного пересчёта.
Сценарий 3: спотовый фитиль на другой бирже
На споте Coinbase случается 30-секундный флеш-фитиль (одна крупная продажа). Индексная цена Binance взвешивает Coinbase. Индекс падает. Mark price падает. Ваш стоп по лонгу срабатывает. Через минуту цена на Coinbase восстанавливается, а перпетуал почти не сдвинулся. С вашей точки зрения, стоп сработал на фитиле, которого вы на графике Binance так и не увидели.
Как проверить, двигался ли mark price
Binance публикует историю mark price через API: /fapi/v1/markPriceKlines?symbol=BTCUSDT&interval=1m возвращает 1-минутные свечи mark price. Вы можете выгрузить их и наложить на график last price в своей платформе. Mark price будет выглядеть немного иначе: обычно в пределах 0,1%, но с заметным расхождением на стрессовых событиях.
TradingView тоже отдаёт mark price Binance отдельным символом. Ищите «BTCUSDT.M» или похожее: он тянет поток mark price напрямую. Если стоп сработал на уровне, которого нет на обычном графике, посмотрите график mark price, и почти всегда увидите фитиль, который вас выбил.
Как ставить стопы, переживающие фитили mark price
1. Ставьте стопы шире, а позиции меньше
У стопа на 5% больше запаса против временного расхождения mark price, чем у стопа на 2%. Меньший размер позиции держит риск в долларах постоянным. Вы меняете лишние выбивания на шуме на чуть худший эдж со сделки.
2. Ставьте workingType в LAST_PRICE на условных ордерах
Binance даёт выбрать, по чему считать триггер стопа: по mark price (по умолчанию) или по last price. Триггеры по last price не сработают от фитилей mark price. Компромисс: на быстрых движениях триггеры по last price могут отставать, и вы закроетесь по цене хуже уровня. Для большинства дискреционных стратегий mark price по умолчанию — правильный выбор; для конкретных структурных сетапов, где вы хотите выходить только на реальных сделках перпетуала, лучше подходят триггеры по last price.
3. Добавьте ручной буфер на всякий случай
Если структурный стоп на $59 500, ставьте реальный SL-ордер на $59 400. Лишние 0,15% буфера гасят типичное расхождение mark price, не теряя защиту на настоящих движениях. Стоит вам чуть больше на убыточных сделках, зато экономит массу ложных стопов.
4. Учитывайте mark price в сайзинге
У мид-кеп альткоинов расхождение mark-vs-last больше, чем у мейджоров. Стакан тоньше, премия гуляет шире, пересчёты mark резче. Соответственно на альтах ставьте стопы шире, чем на BTC/ETH.
Как это решают системные стратегии
Боевые торговые системы обычно используют смесь: структурные стопы (по паттерну на графике) под тезис сделки плюс жёсткий программный стоп-предохранитель, который считается по mark price. Стоп по графику срабатывает, когда движение цены ломает тезис; предохранитель срабатывает, когда позиция в реальной беде.
Наши внутренние стратегии используют ровно такой двухслойный подход. Выход на уровне тезиса срабатывает по собственным правилам стратегии (это IP фирмы и не публикуется); страховочный SL — более широкий жёсткий стоп по mark price, который не даёт ликвидации ни при каких условиях. Подписчики, подключённые через API, получают оба слоя автоматически: выход по тезису стратегии в Telegram и страховочный стоп, выставленный на бирже.
Честный вывод
Mark price против last price — самая частая претензия «график этого не показывал» в крипто-фьючерсах и одновременно самая предотвратимая. Пять минут на чтение формулы, одна поправка в том, где вы ставите стопы, и мнимый стоп-призрак пропадает. Большинство ритейла не заглядывает в поток mark price, пока он несколько раз их не выбьет.
Для системных стратегий верный ответ зашит в слой исполнения. Для дискреционных трейдеров верный ответ — добавить поток mark price на график и ставить стопы с оглядкой на эти данные.
Получайте сигналы с выходами, учитывающими mark price
Наш Pro-фид отдаёт сигналы со структурными входами и двухслойной логикой выхода: выход по тезису от стратегии и жёсткий страховочный стоп на бирже, переживающий фитили mark price. Пробный период бесплатный.
Начать бесплатный период →