Перейти к основному содержимому

Создать новый ордер

POST 

/api/v2/order

Размещение заказов

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

Типы заказов

Все ордера требуют symbol. Все остальные поля являются необязательными, если не указано иное.

Это действительные виды ordType:

  • Limit: Тип ордера по умолчанию. Укажите orderQty и price.
  • Market: Традиционный рыночный ордер. Рыночный ордер будет выполняться до тех пор, пока не заполнится или не достигнет вашей цены банкротства, после чего будет отменён.
  • Stop: Остановите рыночный ордер. Укажите orderQty и stopPx. Когда stopPx будет достигнут, ордер будет введён в книгу.
    • При продажах ордер будет срабатывать, если цена срабатывания ниже, чем stopPx. При покупках выше.
    • Примечание: Остановочные ордера не потребляют маржу до срабатывания. Убедитесь, что у вас есть необходимая маржа на вашем счете, чтобы его можно было полностью сработать.
    • Close остановок не требует orderQty. См. ниже инструкции по выполнению.
  • StopLimit: Как Stop Market, но вводит лимитный ордер вместо рыночного. Укажите orderQty, stopPx, и price.
  • MarketIfTouched: Похоже на остановку, но срабатывание происходит в противоположном направлении. Полезно для Take Profit ордеров.
  • LimitIfTouched: Как выше; использовать для Take Profit в лимитных ордерах.
  • Pegged: Закреплённые ордера позволяют пользователям подавать лимитную цену относительно текущей рыночной цены. Укажите pegPriceType, и pegOffsetValue.
    • Закреплённые ордера должны иметь execInst Fixed. Это означает, что лимитная цена устанавливается в момент, когда ордер принимается, и не изменяется по мере изменения справочной цены.
    • PrimaryPeg: Цена установлена относительно ближайшей касающейся цены.
    • MarketPeg: Цена установлена относительно дальней касающейся цены.
    • pegPriceType с поданным ordType рассматривается как Pegged ордер.

Инструкции по выполнению

Следующие execInst поддерживаются. Если вы используете несколько, разделяйте запятой (например, LastPrice,Close).

  • ParticipateDoNotInitiate: Также известен как пассивный ордер. Если этот ордер был бы выполнен при размещении, вместо этого он будет отменён. Это предназначено для защиты вас от дальней касающейся цены, движущейся к вам, пока ордер в транзите. Это не предназначено для спекуляции на дальней касающейся цене, движущейся прочь после размещения - мы считаем такое поведение злоупотребления и мониторим его.
  • MarkPrice, LastPrice, IndexPrice: Используется остановочными ордерами и когда-тип при касании для определения цены срабатывания. Используйте только один. По умолчанию используется MarkPrice. Также используется для Pegged ордеров для определения стоимости LastPeg. IndexPrice не применимо к спотовым торговым символам.
  • ReduceOnly: ReduceOnly ордер може только снизить вашу позицию, не увеличить ее. Если у вас есть ReduceOnly лимитный ордер, ожидающий в книге ордеров, пока остальные ордера уменьшают позицию, его количество будет уменьшено или отменено. Если есть несколько ReduceOnly ордеров, наименее агрессивный будет изменен первым. Не применимо к символам для спотовой торговли.
  • Close: Close подразумевает ReduceOnly. Close ордер отменит другие активные лимитные ордера с той же стороной и символом, если открытое количество превышает текущую позицию. Это полезно для остановок: отменив эти ордера, Close Остановка гарантирует наличие маржи, необходимой для выполнения, и может быть выполнена только до полного размера вашей позиции. Если orderQty не указан, Close ордер имеет orderQty, равный размеру вашей текущей позиции. Не применимо к символам для спотовой торговли.
    • Примечание: Close ордер без orderQty требует side, чтобы BitMEX мог определить, нужно ли ему срабатывать выше или ниже stopPx.
  • LastWithinMark: Используется остановочными ордерами с LastPrice, позволяя остановкам срабатывать только когда:
    • Для Sell Stop Market / Stop Limit Order
      • Последняя цена ≤ Цена остановки
      • Последняя цена ≥ Цена маркировки × (1 - 5%)
    • Для Buy Stop Market / Stop Limit Order:
      • Последняя цена ≥ Цена остановки
      • Последняя цена ≤ Цена маркировки × (1 + 5%)
    • Не применимо к символам для спотовой торговли.
  • Fixed: Закреплённые ордера должны иметь execInst Fixed. Это означает, что лимитная цена устанавливается на момент, когда ордер принят, и не изменяется, по мере изменения справочной цены.

Закреплённые ордера

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

Пегированные ордера имеют ordType Pegged, а execInst Fixed.

Также необходимо также ввести pegPriceType и pegOffsetValue:

  • PrimaryPeg - цена устанавливается относительно ближайшей касающейся цены
  • MarketPeg - цена устанавливается относительно дальней касающейся цены

Пегированные ордера с трейлинг-стопом

Используйте pegPriceType TrailingStopPeg, чтобы создавать трейлинг-стопы.

Цена устанавливается при помещении и обновляется раз в секунду, если базовая цена (последняя/привязка/индекс) изменилась более чем на 0.1%. stopPx затем перемещается, когда рынок отходит от привязки, и замораживается, когда рынок движется к нему.

Используйте pegOffsetValue для настройки stopPx вашего ордера. Привязка устанавливается к указанной цене срабатывания в execInst (по умолчанию Цена маркировки). Используйте отрицательное смещение для стоп-продажи и покупки при касании.

Требуется ordType: Stop, StopLimit, MarketIfTouched, LimitIfTouched.

Связанные ордера

Связанные ордера - это сложная возможность. Это очень мощная функция, но её использование требует тщательного программирования и тестирования. Пожалуйста, следуйте этой документации внимательно и используйте Testnet Exchange при разработке.

BitMEX предлагает четыре сложных типа связанных ордеров:

  • OCO: Один отменяет другой. Очень гибкая версия стандартной техники Stop / Take Profit. Несколько ордеров могут объединяться в связи с помощью единого clOrdLinkID. Отправьте contingencyType, OneCancelsTheOther в ордерах. Первый ордер, который будет полностью или частично исполнен (или активирован для ордеров Stop), отменяет все другие ордера с тем же clOrdLinkID.
  • OTO: Один активирует другой. Отправте contingencyType 'OneTriggersTheOther' в первичном ордере и затем последующие ордера с тем же clOrdLinkID не будут активированы, пока первичный ордер не будет полностью исполнен.

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

Вы можете использовать pegPriceType 'TrailingStopPeg', чтобы создавать трейлинг-стопы. Пегированный stopPx движется, по мере того как рынок отходит от пегирования, и замораживается, когда рынок движется к нему.

Для использования комбинируйте с pegOffsetValue для настройки stopPx вашего ордера. Пегирование предназначено для установленной цены срабатывания в execInst (по умолчанию 'Цена маркировки'). Используйте отрицательное смещение для стоп-продажи и покупки при касании.

Требуется ordType: 'Stop', 'StopLimit', 'MarketIfTouched', 'LimitIfTouched'.

Ограничения на ставки

Вы можете улучшить свою реактивность к движениям рынка при непревышении вашего лимита ставок, используя Amend endpoint (PUT /order). Это позволяет оставаться на рынке и избегает цикла отмены/замены.

Отслеживание ваших ордеров

Если вы хотите отслеживать идентификаторы ордеров самостоятельно, установите уникальный clOrdID для каждого ордера. Этот clOrdID будет возвращаться в качестве свойства ордера и любых связанных исполнений (включая на WebSocket), и может использоваться для получения или отмены ордера. Максимальная длина - 36 символов.

Вы также можете изменить clOrdID путем изменения ордера, указав origClOrdID, и ваш желательный новый ID как параметр clOrdID, как в примере:

# Изменяет orders leavesQty и обновляет его clOrdID на "def-456"
PUT /api/v1/order {"origClOrdID": "abc-123", "clOrdID": "def-456", "leavesQty": 1000}

Запрос

Ответы