Strasmore Research
Обучение Matt ConnorАвтор: Matt Connor

Разница между стоп-заявкой и стоп-лимитной заявкой

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

Стоп-заявка (stop order) и стоп-лимитная заявка (stop-limit order) остаются неактивными до тех пор, пока рыночная цена не достигнет выбранного вами уровня, но в момент срабатывания их пути расходятся. Стоп-заявка превращается в рыночную заявку и исполняется по любой доступной цене, независимо от того, насколько далеко она ушла от триггера. Стоп-лимитная заявка превращается в лимитную заявку с установленной вами ценой и не исполняется, если рыночная цена хуже лимита. Первый вариант приоритезирует исполнение сделки, второй — цену; получить и то, и другое одновременно невозможно.

Что такое стоп-заявка?

Стоп-заявка — это инструкция брокеру: как только по акции проходит сделка по цене стоп-заявки или хуже, отправить рыночную заявку. Пока такая сделка не прошла, заявка бездействует. Она не находится в биржевом стакане, другие участники рынка её не видят, и она не обеспечивает ликвидность по вашей цене. Большинство стоп-заявок розничных клиентов хранятся в системах брокера и попадают на биржу только после выполнения условия активации.

После активации это обычная рыночная заявка без ценового «пола», которая забирает лучшее предложение, а затем следующие, пока не будет исполнен весь объем. На глубоком и ликвидном рынке это может стоить один цент. На неликвидном или быстро меняющемся рынке потери могут составить несколько процентов. Разница между рыночной и лимитной заявкой определяет всё, что происходит после срабатывания триггера, так как стоп-заявка наследует все свойства того типа заявки, в который она превращается.

Что такое стоп-лимитная заявка?

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

Далее она ведет себя как любая лимитная заявка: исполняется по лимитной цене или лучше, а пока рынок находится ниже, она ожидает. Если цена не возвращается, срок действия заявки истекает, а позиция остается нетронутой. Лимит, установленный на уровне стоп-цены, — самый строгий вариант, при котором вероятность исполнения минимальна. Лимит, установленный значительно ниже стоп-цены, более гибкий и ближе к стоп-заявке с защитным «полом».

Стоп-заявка против стоп-лимитной заявки при гэпе

Рассмотрим гипотетический пример. Акция закрылась на уровне 50 долларов, вы выставили стоп на 48 долларов. На следующее утро первая сделка проходит по 41 доллару. Стоп-заявка срабатывает на открытии и исполняется около 41 доллара. Ваша цена 48 долларов так и не была доступна, и заявка её не запрашивала. Стоп-лимитная заявка на 48 долларов с лимитом 47,50 доллара также срабатывает на открытии, выставляя предложение на продажу по 47,50 доллара на рынок, где торги идут по 41 доллару. Сделка не происходит, и вы остаетесь с акцией по 41 доллару и активной заявкой, висящей на шесть с половиной долларов выше рынка.

Такое движение редко для бумаг с большой капитализацией. Для малых компаний это обычное дело, и стоп-заявке достаточно небольшого гэпа для активации. В таблице ниже для пяти известных компаний за пять лет (по июль 2026 года) подсчитано, как часто цена открытия была как минимум на один и на три процента ниже цены закрытия предыдущего дня. Даты дробления акций исключены из сравнения: дробление десять к одному превращает одну акцию в десять и снижает котировку примерно на девяносто процентов, что является арифметическим изменением, а не гэпом. Почему возникают гэпы описывает процессы ночной сессии.

ЗапросЧастота открытия акций с гэпом вниз относительно предыдущего закрытия
Точный SQL-код для каждого числа
WITH sessions AS
(
    SELECT
        ticker,
        date,
        toFloat64(open)  AS open_px,
        toFloat64(close) AS close_px,
        row_number() OVER (PARTITION BY ticker ORDER BY date)     AS session_n,
        row_number() OVER (PARTITION BY ticker ORDER BY date) + 1 AS next_session_n
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
      AND date >= '2021-08-01'
      AND date <  '2026-08-01'
)
SELECT
    cur.ticker                                                              AS symbol,
    round(100 * countIf(cur.open_px <= prior.close_px * 0.99) / count(), 1) AS opened_1pct_lower_pct,
    round(100 * countIf(cur.open_px <= prior.close_px * 0.97) / count(), 1) AS opened_3pct_lower_pct
FROM sessions AS cur
INNER JOIN sessions AS prior
    ON cur.ticker = prior.ticker
   AND cur.session_n = prior.next_session_n
WHERE (cur.ticker, cur.date) NOT IN
(
    SELECT ticker, execution_date
    FROM global_markets.stocks_splits
)
GROUP BY symbol
ORDER BY opened_1pct_lower_pct DESC
Run this yourself

За этот период NVDA открывалась как минимум на один процент ниже цены закрытия в 22.1% случаев, и как минимум на три процента ниже в 3.4% случаев. В спокойной части таблицы KO показала такой результат в 2.3% случаев. Стоп-заявка, выставленная близко к рынку, всегда находится в одной ночной сессии от срабатывания.

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

ЗапросКрупнейшие гэпы вниз по NVDA и динамика цены в течение последующих 30 минут
Точный SQL-код для каждого числа
WITH sessions AS
(
    SELECT
        date,
        toFloat64(open)  AS open_px,
        toFloat64(close) AS close_px,
        row_number() OVER (ORDER BY date)     AS session_n,
        row_number() OVER (ORDER BY date) + 1 AS next_session_n
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'NVDA'
      AND date >= '2021-08-01'
      AND date <  '2026-08-01'
),
gap_days AS
(
    SELECT
        cur.date                                           AS d,
        round(100 * (cur.open_px / prior.close_px - 1), 2) AS gap_pct
    FROM sessions AS cur
    INNER JOIN sessions AS prior ON cur.session_n = prior.next_session_n
    WHERE cur.date NOT IN
    (
        SELECT execution_date
        FROM global_markets.stocks_splits
        WHERE ticker = 'NVDA'
    )
    ORDER BY gap_pct ASC
    LIMIT 8
),
opening_30m AS
(
    SELECT
        toDate(toTimeZone(window_start, 'America/New_York')) AS d,
        argMin(toFloat64(open), window_start)                AS first_print,
        min(toFloat64(low))                                  AS low_30m
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'NVDA'
      AND window_start >= '2021-08-01'
      AND window_start <  '2026-08-01'
      AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM gap_days)
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
      AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
           + toMinute(toTimeZone(window_start, 'America/New_York'))) < 600
    GROUP BY d
)
SELECT
    toString(g.d)                                     AS session_date,
    g.gap_pct                                         AS open_vs_prior_close_pct,
    round(100 * (o.low_30m / o.first_print - 1), 2)   AS first_30m_low_vs_open_pct
FROM gap_days AS g
INNER JOIN opening_30m AS o ON o.d = g.d
ORDER BY g.d
Run this yourself

2025-04-16, самый недавний случай, открылся на -6.82% ниже закрытия, а минимум первых получаса торгов составил -0.19% относительно открытия. Самая старая строка, 2022-02-24, открылась на -6.13%. Стоп-заявка, сработавшая в одно из таких утр, исполняется где-то в этом диапазоне, и держатель не может повлиять на результат.

Исполняется ли стоп-лимитная заявка позже в течение дня?

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

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

ЗапросСессии с гэпом более 2% и исполнение лимитных ордеров
Точный SQL-код для каждого числа
WITH sessions AS
(
    SELECT
        ticker,
        date,
        toFloat64(open)  AS open_px,
        toFloat64(high)  AS high_px,
        toFloat64(close) AS close_px,
        row_number() OVER (PARTITION BY ticker ORDER BY date)     AS session_n,
        row_number() OVER (PARTITION BY ticker ORDER BY date) + 1 AS next_session_n
    FROM global_markets.stocks_daily_aggs
    WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO')
      AND date >= '2021-08-01'
      AND date <  '2026-08-01'
)
SELECT
    cur.ticker                                                                AS symbol,
    count()                                                                   AS gapped_through_sessions,
    round(100 * countIf(cur.high_px >= prior.close_px * 0.9702) / count(), 1) AS reached_limit_intraday_pct
FROM sessions AS cur
INNER JOIN sessions AS prior
    ON cur.ticker = prior.ticker
   AND cur.session_n = prior.next_session_n
WHERE cur.open_px < prior.close_px * 0.9702
  AND (cur.ticker, cur.date) NOT IN
  (
      SELECT ticker, execution_date
      FROM global_markets.stocks_splits
  )
GROUP BY symbol
ORDER BY reached_limit_intraday_pct DESC
Run this yourself

KO вернулась к лимитной цене в течение той же сессии в 100% из 2 дней с гэпом, что является самым высоким показателем среди 5 компаний. MSFT вернулась в 66.7% случаев. Касание цены не означает исполнение: ваша заявка встает в очередь, и кратковременный прокол уровня может удовлетворить только те заявки, что стоят перед вами. Подробнее об этом — в разделе закрываются ли гэпы.

Что на самом деле активирует стоп

Условие активации более узкое, чем кажется. У большинства брокеров стоп-заявка на продажу срабатывает по последней цене сделки (last-sale print) на уровне стоп-цены или ниже. Бид может опуститься ниже вашего уровня на минуту без единой сделки, и заявка останется неактивной, а одна мелкая сделка может её активировать. У многих брокеров учитываются даже неполные лоты (odd lots), поэтому сделки на 7 акций достаточно.

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

Время так же важно, как и уровень. В таблице ниже измеряется, какое расстояние проходит цена за одну минутную свечу (от максимума до минимума) каждые полчаса сессии в базисных пунктах. Один базисный пункт — это сотая доля процента, то есть 50 б.п. — это полпроцента цены.

ЗапросСредний диапазон колебаний цены (high-low) за минуту в зависимости от времени суток
Точный SQL-код для каждого числа
SELECT
    formatDateTime(toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
    round(avgIf(10000 * (toFloat64(high) - toFloat64(low)) / toFloat64(close), ticker = 'NVDA'), 1) AS nvda_range_bps,
    round(avgIf(10000 * (toFloat64(high) - toFloat64(low)) / toFloat64(close), ticker = 'SPY'), 1)  AS spy_range_bps
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('NVDA', 'SPY')
  AND window_start >= '2025-08-01'
  AND window_start <  '2026-08-01'
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY et_time
HAVING countIf(ticker = 'NVDA') > 0
   AND countIf(ticker = 'SPY') > 0
ORDER BY et_time
Run this yourself

Для NVDA в интервале 09:30 среднее движение составляет 28.5 б.п. в минуту против 10 б.п. в интервале 12:30. SPY, более широкий инструмент, показывает 7 б.п. на открытии и 3.9 б.п. в тот же полуденный час. Стоп-заявка, пережившая ночь, активируется в первом из этих интервалов.

Как срок действия заявки меняет стоп

Стоп-заявка имеет срок действия, как и любая другая. Дневная стоп-заявка истекает при закрытии рынка и требует повторной установки на следующее утро. Стоп-заявка GTC (good-till-canceled) сохраняется в течение нескольких сессий, в зависимости от правил брокера. Движение, активирующее стоп, часто происходит ночью, когда вчерашняя дневная заявка уже не существует. Сроки действия заявок подробно описывает дневные заявки, GTC и варианты для внебиржевых часов.

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

Трейлинг-стопы и стопы на опционы

Трейлинг-стоп использует ту же логику триггера с подвижным ориентиром. Вы задаете расстояние в центах или процентах, и триггер следует за лучшей ценой, достигнутой с момента установки, двигаясь только в одну сторону. Существуют как трейлинг-стоп, так и трейлинг-стоп-лимит, которые наследуют те же риски в момент срабатывания.

Опционы — более сложный случай. Котировки опционов изначально шире, чем у акций, и сильнее растягиваются на быстром рынке. Цена контракта зависит от базового актива, времени до экспирации и подразумеваемой волатильности. Стоп-заявка на опцион может сработать по одной сделке на рынке, где бид и аск разнятся на доллары. Некоторые брокеры ограничивают типы стоп-заявок для опционов.

Часто задаваемые вопросы

Гарантирует ли стоп-лосс мою цену?

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

Лучше ли стоп-лимитная заявка, чем стоп-заявка?

Они решают разные задачи. Стоп-заявка делает приоритетом сам выход из позиции. Стоп-лимитная заявка делает приоритетом цену выхода, допуская, что позиция может остаться открытой. Риск смещается с цены на факт исполнения, а не исчезает.

Могут ли другие трейдеры видеть мою стоп-заявку?

Нет, как стоп-заявку — не могут. Стоп-заявка хранится в системах брокера, и ничего не появляется в биржевом стакане, пока триггер её не активирует. После этого рынок видит обычную рыночную или лимитную заявку.

Какая цена активирует стоп-заявку?

У большинства брокеров стоп-заявка на продажу срабатывает по последней цене сделки на уровне стоп-цены или ниже, а стоп-заявка на покупку — по цене на уровне или выше. Существуют и правила на основе котировок, и сделки даже по неполным лотам может быть достаточно. В раскрытии информации вашего брокера указано, какое правило применяется к вашему счету.


Каждая таблица здесь содержит SQL-запрос, с помощью которого она была создана. Замените тикер или порог гэпа, и тот же вопрос получит ответ для интересующих вас бумаг на терминале Strasmore.