Создать новый заказ
POST/api/v1/api/v2/order
Размещение ордеров
Этот эндпоинт используется для размещения ордеров. См. отдельные поля ниже для получения более подробной информации об их использовании.
Типы ордеров
Все ордера требуют указания symbol. Все остальные поля являются необязательными, если не указано иное.
Допустимые значения ordType:
- Limit: Тип ордера по умолчанию. Укажите
orderQtyиprice. - Market: Традиционный рыночный ордер. Рыночный ордер будет исполняться до полного заполнения или до достижения вашей цены банкротства, после чего он будет отменён.
- Stop: Стоп-рыночный ордер. Укажите
orderQtyиstopPx. Когда достигаетсяstopPx, ордер будет размещён в книге ордеров.- Для ордеров на продажу ордер сработает, если триггерная цена ниже
stopPx. Для покупок — выше. - Примечание: стоп-ордера не используют маржа до момента срабатывания. Убедитесь, что на вашем счёте доступна необходимая маржа, чтобы ордер мог полностью исполниться.
- Стоп-ордера
Closeне требуютorderQty. См. инструкции исполнения ниже.
- Для ордеров на продажу ордер сработает, если триггерная цена ниже
- StopLimit: Аналогичен Stop Market, но размещает лимитный ордер вместо рыночного. Укажите
orderQty,stopPxиprice. - MarketIfTouched: Похож на Stop, но срабатывание происходит в противоположном направлении. Полезен для ордеров Фиксация прибыли.
- LimitIfTouched: Аналогично выше; используется для лимитных ордеров Фиксация прибыли.
- Pegged: Pegged-ордера позволяют пользователям задавать лимитную цену относительно текущей рыночной цены. Укажите
pegPriceTypeиpegOffsetValue.- Pegged-ордера должны иметь
execInstсо значениемFixed. Это означает, что лимитная цена устанавливается в момент принятия ордера и не изменяется при изменении опорной цены. PrimaryPeg: цена устанавливается относительно ближайшей цены (near touch).MarketPeg: цена устанавливается относительно дальней цены (far touch).pegPriceType, отправленный безordType, рассматривается как ордерPegged.
- Pegged-ордера должны иметь
Инструкции исполнения
Поддерживаются следующие значения execInst. При использовании нескольких значений разделяйте их запятой (например, LastPrice,Close).
- ParticipateDoNotInitiate: Также известен как ордер Пассивный. Если этот ордер был бы исполнен при размещении, он будет отменён. Это предназначено для защиты от ситуации, когда дальняя цена (far touch) движется к вам, пока ордер находится в пути. Это не предназначено для спекуляций на удалении дальней цены после отправки — мы считаем такое поведение злоупотреблением и отслеживаем его.
- MarkPrice, LastPrice, IndexPrice: Используются стоп-ордерами и ордерами if-touched для определения триггерной цены.
Используйте только одно значение. По умолчанию используется
MarkPrice. Также используется для Pegged-ордеров для определения значенияLastPeg. IndexPrice не применяется к спотовым торговым инструментам. - ReduceOnly: Ордер
ReduceOnlyможет только уменьшать вашу позицию, но не увеличивать её. Если у вас есть лимитный ордерReduceOnly, находящийся в книге ордеров, и позиция уменьшается другими ордерами, его количество будет уменьшено или он будет отменён. Если есть несколько ордеровReduceOnly, сначала корректируется наименее агрессивный. Не применяется к спотовым торговым инструментам. - Close:
CloseподразумеваетReduceOnly. ОрдерCloseотменит другие активные лимитные ордера с той же стороной и символом, если открытое количество превышает текущий размер позиции. Это полезно для стоп-ордеров: за счёт отмены этих ордеров обеспечивается наличие маржи, необходимой для исполненияCloseStop, и он может быть исполнен только в пределах полного размера вашей позиции. ЕслиorderQtyне указан, ордерCloseимеетorderQty, равный размеру вашей текущей позиции. Не применяется к спотовым торговым инструментам.- Обратите внимание, что ордер
CloseбезorderQtyтребует указанияside, чтобы BitMEX знал, должен ли он сработать выше или нижеstopPx.
- Обратите внимание, что ордер
- LastWithinMark: Используется стоп-ордерами с
LastPrice, чтобы разрешить срабатывание только когда:- Для Stop Market / Stop Limit на продажу
- Последняя цена <= Stop Price
- Последняя цена >= Цена маркировки × (1 - 5%)
- Для Stop Market / Stop Limit на покупку:
- Последняя цена >= Stop Price
- Последняя цена <= Цена маркировки × (1 + 5%)
- Не применяется к спотовым торговым инструментам.
- Для Stop Market / Stop Limit на продажу
- Fixed: Pegged-ордера должны иметь
execInstсо значениемFixed. Это означает, что лимитная цена устанавливается в момент принятия ордера и не изменяется при изменении опорной цены.
Pegged-ордера
Pegged-ордера позволяют пользователям задавать лимитную цену относительно текущей рыночной цены. Лимитная цена устанавливается один раз при отправке ордера и не изменяется вместе с опорной ценой. Этот тип ордера не предназначен для спекуляций на удалении дальней цены после отправки — мы считаем такое поведение злоупотреблением и отслеживаем его.
Pegged-ордера имеют ordType равный Pegged и execInst равный Fixed.
Также необходимо указать pegPriceType и pegOffsetValue:
PrimaryPeg— цена устанавливается относительно ближайшей цены (near touch)MarketPeg— цена устанавливается относительно дальней цены (far touch)
Трейлинг-стоп Pegged-ордера
Используйте pegPriceType со значением TrailingStopPeg для создания трейлинг-стопов.
Цена устанавливается при отправке и обновляется раз в секунду, если базовый актив (последняя/маркировки/индексная цена) изменился более чем на 0.1%. Затем stopPx движется по мере удаления рынка от peg и фиксируется, когда рынок движется к нему.
Используйте pegOffsetValue для задания stopPx вашего ордера. Peg устанавливается на триггерную цену, указанную в execInst (по умолчанию MarkPrice). Используйте отрицательное смещение для стоп-продаж и ордеров buy-if-touched.
Требуется ordType: Stop, StopLimit, MarketIfTouched, LimitIfTouched.
Связанные ордера
Связанные ордера — это продвинутая возможность. Она очень мощная, но её использование требует тщательной разработки и тестирования. Пожалуйста, внимательно следуйте этому документу и используйте Testnet Exchange во время разработки.
BitMEX предлагает четыре типа продвинутых связанных ордеров:
- OCO: One Cancels the Other. Очень гибкая версия стандартной техники Stop / Фиксация прибыли.
Несколько ордеров могут быть связаны с помощью одного
clOrdLinkID. ОтправьтеcontingencyTypeсо значениемOneCancelsTheOtherв ордерах. Первый ордер, который полностью или частично исполняется (или активируется для ордеровStop), отменит все остальные ордера с тем жеclOrdLinkID. - OTO: One Triggers the Other. Отправьте
contingencyTypeсо значением'OneTriggersTheOther'в основном ордере, и последующие ордера с тем жеclOrdLinkIDне будут активированы, пока основной ордер полностью не исполнится.
Трейлинг-стопы
Вы можете использовать pegPriceType со значением 'TrailingStopPeg' для создания трейлинг-стопов. Привязанный stopPx будет двигаться по мере удаления рынка от peg и фиксироваться, когда рынок движется к нему.
Для использования комбинируйте с pegOffsetValue, чтобы задать stopPx вашего ордера. Peg устанавливается на триггерную цену, указанную в execInst (по умолчанию 'MarkPrice'). Используйте отрицательное смещение для стоп-продаж и ордеров buy-if-touched.
Требуется ordType: 'Stop', 'StopLimit', 'MarketIfTouched', 'LimitIfTouched'.
Ограничения скорости
Вы можете повысить реакцию на движения рынка, оставаясь в пределах лимитов скорости, используя эндпоинт Amend (PUT /order). Это позволяет оставаться в рынке и избегать цикла отмены/замены.
Отслеживание ваших ордеров
Если вы хотите самостоятельно отслеживать идентификаторы ордеров, задайте уникальный clOrdID для каждого ордера.
Этот clOrdID будет возвращаться как свойство ордера и всех связанных исполнений (включая WebSocket) и может использоваться для получения или отмены ордера. Максимальная длина — 36 символов.
Вы также можете изменить clOrdID, изменив ордер, указав origClOrdID и новый желаем ый ID в параметре clOrdID, например:
# Изменяет leavesQty ордера и обновляет его clOrdID на "def-456"
PUT /api/v1/order {"origClOrdID": "abc-123", "clOrdID": "def-456", "leavesQty": 1000}
Запрос
Ответы
- 200
- 400
- 401
- 403
- 404
Ошибка параметра
Несанкционированный доступ
Доступ запрещен
Не найдено