Investlink: Trade & Invest
Investments, Trading US Stocks
Размещение заказов: Типы ордеров
Размещение заказов: Типы ордеров

Размещение заказов: Типы ордеров

Team Investlink Команда Investlink 15 октября, 2025
clock
3 минуты чтения

В настоящее время Alpaca поддерживает четыре различных типа ордеров (заказов). См. продолжение после вступления.

Используя Trading API Alpaca, пользователи могут отслеживать, размещать и отменять заказы. Каждый заказ имеет уникальный идентификатор, предоставленный клиентом. Если клиент его не предоставит, система автоматически сгенерирует уникальный идентификатор заказа на стороне клиента. Этот идентификатор возвращается как часть объекта заказа вместе с другими полями, описанными ниже. После размещения заказа его можно запросить, используя либо идентификатор заказа, предоставленный клиентом, либо уникальный идентификатор, назначенный системой, чтобы проверить его статус. Обновления по открытым ордерам также доставляются через интерфейс потоковой передачи, который является рекомендуемым методом для поддержания состояния заказа.

Типы ордеров

При оформлении заказа вы можете выбрать один из поддерживаемых типов ордеров. В настоящее время Alpaca поддерживает четыре различных типа заказов.

Рыночный ордер

Рыночный ордер — это запрос на покупку или продажу ценной бумаги по доступной на данный момент рыночной цене. Он предоставляет наиболее вероятный способ оформления заказа. Рыночные ордера исполняются практически мгновенно.

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

Лимитный ордер

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

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

Приращения до копеек для лимитных ордеров

Минимальное отклонение цены существует для лимитных ордеров. Заказы, полученные сверх минимального отклонения цены, будут отклонены.

  • Лимитная цена >=$1.00: Максимальное количество десятичных дробей= 2
  • Лимитная цена <$1.00: Максимальное количество десятичных знаков = 4
{
  "code": 42210000,
  "message": "invalid limit_price 290.123. sub-penny increment does not fulfill minimum pricing criteria"
}

Стоп-ордера

Стоп-ордер (рыночный) — это ордер на покупку или продажу ценной бумаги, когда ее цена проходит определенную точку, обеспечивая более высокую вероятность достижения заранее определенной цены входа или выхода. Как только ордер выбран, стоп-ордер становится рыночным ордером. Alpaca преобразует стоп-ордера на покупку в стоп-лимитные ордера с лимитной ценой, которая на 4% выше стоп-цены < $50 (или на 2,5% выше стоп-цены >= $50). Стоп-ордера на продажу не конвертируются в стоп-лимитные ордера.

Стоп-ордер не гарантирует, что ордер будет исполнен по определенной цене после того, как он будет преобразован в рыночный ордер.

Для того, чтобы отправить стоп-ордер, вам нужно будет указать параметр стоп-цены в API.

Пример:

  • Допустим, вы хотите купить 100 акций TSLA только в том случае, если цена вырастет до $210 (при текущей торговой цене в $200).
  • Вы размещаете стоп-ордер на покупку по цене $210.
  • В Alpaca этот стоп-ордер на покупку конвертируется в стоп-лимитный ордер с лимитной ценой на 2,5% выше $210 (т.е. $215,25).
  • Если TSLA достигает $210, ордер активируется и превращается в лимитный ордер по $215,25. Это означает, что ордер не будет исполнен выше $215,25.

Приращения до копеек для стоп-ордеров

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

  • Стоп-цена >=$1.00: Максимальное количество десятичных дробей= 2
  • Стоп-цена <$1.00: максимальное количество десятичных знаков = 4
{
  "code": 42210000,
  "message": "invalid stop_price 290.123. sub-penny increment does not fulfill minimum pricing criteria"
}

Стоп-лимитный ордер

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

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

Пример:

  • Вы хотите купить 50 акций TSLA, которые в настоящее время торгуются по цене $200.
  • Покупать хочется только в том случае, если он пробьет выше $210, но не выше $215.
  • Вы размещаете стоп-лимитный ордер на покупку с:
    • Стоп-цена: $210 → Ордер активируется, когда TSLA достигает этой цены.
    • Лимитная цена: $215 → Ордер будет исполнен только по цене $215 или выше.
  • Если TSLA движется к $210, ордер срабатывает и конвертируется в лимитный ордер по цене $215.
Открытие и закрытие аукционных ордеров

Рыночные ордера на открытие и лимит на открытые ордера могут быть исполнены только на аукционе открытия. Рыночные ордера на закрытие и лимитные ордера на закрытие могут быть исполнены только на аукционе закрытия. Пожалуйста, ознакомьтесь с разделом «Время в силе» для получения более подробной информации.

Брекет-ордера

Брекет-ордер — это цепочка из трех ордеров, которую можно использовать для управления входом и выходом из позиции. Это распространенный случай использования ордера OTOCO (One Triggers OCO {One Cancels Other}).

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

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

Для того, чтобы отправить заявку на брекетинг, вам необходимо указать дополнительные параметры в API. Во-первых, добавьте параметр в виде «скобки». Во-вторых, укажите два дополнительных поля и stop_loss, оба из которых являются вложенными объектами JSON. Объекту нужно в качестве поля значение, указывающее лимитную цену ордера тейк-профит, а объекту нужно обязательное поле и необязательное поле. Если указано в , ордер стоп-лосс ставится в очередь как стоп-лимитный ордер, но в противном случае он ставится в очередь как стоп-ордер.order_classtake_profittake_profitlimit_pricestop_lossstop_pricelimit_pricelimit_pricestop_loss

Ниже приведен пример параметра тела JSON для отправки ордера на скобки.

{ «side»: «buy», «symbol»: «SPY», «type»: «market», «qty»: «100», «time_in_force»: «gtc», «order_class»: «bracket», «take_profit»: { «limit_price»: «301» }, «stop_loss»: { «stop_price»: «299», «limit_price»: «298.5» } }

В результате создается три заказа.

  • Рыночный ордер на покупку 100 SPY с GTC
  • Лимитный ордер на продажу на те же 100 SPY, с лимитной ценой = 301
  • Стоп-лимитный ордер на продажу со стоп-ценой = 299 и лимитной ценой = 298,5

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

  • Если какой-либо из ордеров отменяется, любой оставшийся открытый ордер в группе отменяется.
  • take_profit.limit_price должен быть выше, чем для брекет-ордера на покупку, и наоборот для ордера на продажу.stop_loss.stop_price
  • И то, и другое и должно присутствовать.take_profit.limit_pricestop_loss.stop_price
  • Продленные часы работы не поддерживаются. должно быть «false» или опущено.extended_hours
  • time_in_force должны быть или .daygtc
  • Каждый заказ в группе всегда отправляется с инструкцией DNR/DNC (Do Not Reduce/Do Cancel). Таким образом, цена ордера не будет скорректирована и ордер не будет отменен в случае выплаты дивидендов или другого корпоративного действия.
  • Если ордер тейк-профит будет исполнен частично, ордер стоп-лосс будет скорректирован на оставшееся количество.
  • Замена ордера () поддерживается для обновления и .PATCH /v2/orderslimit_pricestop_price

Каждый заказ группы отображается как независимый заказ в конечной точке GET /v2/orders. Но если вы укажете дополнительный параметр nested=true, ответ на заказ будет вложен в результат, чтобы включить дочерние заказы в родительский заказ с помощью поля массива legs в сущности заказа.

Ордеры OCO

OCO (One-Cancels-Other) — это еще один тип расширенного типа ордеров. Это набор из двух ордеров с одной стороной (покупка/покупка или продажа/продажа), и в настоящее время поддерживается только ордер на выход. Другими словами, это вторая часть брекет-ордеров, где ордер на вход уже исполнен, и вы можете отправить тейк-профит и стоп-лосс в одном ордере.

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

Для того, чтобы отправить OCO-ордер, укажите «oco» в качестве параметра order_class.

{ «side»: «sell», «symbol»: «SPY», «type»: «limit», «qty»: «100», «time_in_force»: «gtc», «order_class»: «oco», «take_profit»: { «limit_price»: «301» }, «stop_loss»: { «stop_price»: «299», «limit_price»: «298.5» } }

Параметр type всегда должен быть «limit», указывая на то, что тип ордера тейк-профит является лимитным ордером. Ордер стоп-лосс является стоп-ордером, если указан только он, и является стоп-лимитным ордером, если указаны оба и (т.е. должны присутствовать в любом случае). Эти два ордера работают точно так же, как и две ветви порядков в скобке.stop_pricelimit_pricestop_pricestop_price

Обратите внимание, что при получении списка ордеров с параметром true ордер тейк-профит отображается как родительский ордер, а стоп-лосс — как дочерний ордер.nested

Как и в случае с заказами на брекетинге, поддерживается замена ордеров для обновления limit_price и stop_price.

Приказы ОТО

OTO (One-Triggers-Other) — это вариант порядка скобок. Он принимает один из ордеров тейк-профит или стоп-лосс в дополнение к ордеру на вход. Например, если вы хотите установить только стоп-лосс, привязанный к позиции, без тейк-профита, вы можете рассмотреть ордеры ОТО.

Отправка заказа осуществляется с параметром «oto».order_class

{ «side»: «buy», «symbol»: «SPY», «type»: «market», «qty»: «100», «time_in_force»: «gtc», «order_class»: «oto», «stop_loss»: { «stop_price»: «299», «limit_price»: «298.5» } }

Либо из, либо должны присутствовать (приведенный выше пример для случая тейк-профита), а остальные требования такие же, как и у брекет-ордеров.take_profitstop_loss

Как и в случае с брекетинговыми ордерами, замена ордеров пока не поддерживается.

Порог по стоп-цене стоп-лосс ордеров

Для стоп-лосс ордера расширенных ордеров, пожалуйста, имейте в виду, что запрос ордера может быть отклонен из-за ограничения значения параметра stop_price. Входная стоп-цена должна быть как минимум на $0,01 ниже (для стоп-лосса на продажу, выше для покупки) по сравнению с «базовой ценой». Базовая цена определяется следующим образом.

  • Это предельная цена тейк-профита для OCO-ордеров.
  • Это лимитная цена ордера на вход, для брекет-ордеров или ордеров OTO, если тип входа — лимитный.
  • Это также текущая рыночная цена для любого, OCO, OTO и кронштейна.

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

Скользящие стоп-ордера

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

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

Чтобы отправить трейлинг-стоп ордер, вы установите параметр type в значение «trailing_stop». Существует два параметра отправки ордеров, связанных с трейлинг-стопом, один из которых является обязательным, когда тип «trailing_stop».

поле тип описание
trail_price струна<number> стоимость в долларах от самой высокой отметки воды. Если вы установите значение 2.00 для трейлинг-стопа на продажу, стоп-цена всегда равна .hwm - 2.00
trail_percent струна<number> Процентное значение от самой высокой отметки воды. Если вы установите значение 1.0 для трейлинг-стопа на продажу, стоп-цена всегда равна .hwm \* 0.99

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

{ «side»: «sell», «symbol»: «SPY», «type»: «trailing_stop», «qty»: «100», «time_in_force»: «day», «trail_price»: «6.15» }

Сущность Order, возвращаемая из метода, имеет несколько полей, связанных с трейлинг-стоп-ордерами.GET

поле тип описание
trail_price струна<number> Это то же значение, которое было указано при отправке заказа. Если это не было указано, то оно будет равно null.
trail_percent струна<number> Это то же значение, которое было указано при отправке заказа. Если это не было указано, то оно будет равно null.
hwm струна<number> Высокое значение водяного знака. Это постоянно меняется по мере того, как рынок движется в вашу сторону.
stop_price струна<number> Это то же самое, что и стоп-цена в обычных стоп/стоп-лимитных ордерах, но она является производной от параметра и trail и постоянно обновляется по мере изменения hwm.hwm

Если ордер трейлинг-стоп принят, статус ордера становится «новый». Пока ордер ожидает срабатывания стоп-цены, вы можете обновить параметр trail методом PATCH.

поле тип описание
trail струна<number> Новое значение значения or. Такой запрос на замену действителен только для ордера типа «trailing_stop» до достижения стоп-цены. Обратите внимание, что вы не можете изменить трейлинг цены на процентный трейлинг или наоборот.trail_pricetrail_percent

Некоторые замечания о трейлинг-стопах

  • Трейлинг-стоп не срабатывает вне обычных рыночных часов.
  • Допустимыми значениями времени действия трейлинг-стопа являются «day» и «gtc».
  • Трейлинг-стоп ордера в настоящее время поддерживаются только с одиночными ордерами. Тем не менее, в будущем мы планируем поддерживать трейлинг-стоп в качестве стоп-лосса для брекетинг/OCO-ордеров.

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

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

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

Оригинал статьи

briefcase

Начните инвестировать и торговать прямо сейчас!

Скачайте мобильное приложение и откройте брокерский счет в США.

Оставить заявку

Заполните форму, чтобы получить профессиональную инвестиционную консультацию бесплатно.

Закрыть Отправить