본문으로 건너뛰기

새 주문을 생성합니다.

POST 

/order

주문 제출

이 엔드포인트는 주문을 제출하는 데 사용됩니다. 사용 방법에 대한 자세한 내용은 아래 각 필드를 참고하십시오.

주문 유형

모든 주문에는 symbol이 필요합니다. 별도로 명시되지 않는 한 나머지 필드는 선택 사항입니다.

유효한 ordType은 다음과 같습니다.

  • Limit: 기본 주문 유형입니다. orderQtyprice를 지정합니다.
  • Market: 전통적인 시장가 주문입니다. 마켓 주문은 주문이 전량 체결되거나 파산 가격에 도달할 때까지 체결되며, 파산 가격에 도달하면 취소됩니다.
  • Stop: 스톱 마켓 주문입니다. orderQtystopPx를 지정합니다. stopPx에 도달하면 주문이 호가창에 입력됩니다.
    • 매도 주문의 경우 트리거 가격이 stopPx보다 낮을 때 주문이 발동합니다. 매수 주문의 경우 더 높을 때 발동합니다.
    • 참고: 스톱 주문은 트리거되기 전까지 증거금을 사용하지 않습니다. 주문이 완전하게 트리거될 수 있도록 계정에 필요한 증거금이 있는지 확인하십시오.
    • Close 스톱은 orderQty가 필요하지 않습니다. 아래 실행 지침을 참고하십시오.
  • StopLimit: 스톱 마켓과 유사하지만, 마켓 주문 대신 지정가 주문을 입력합니다. orderQty, stopPx, price를 지정합니다.
  • MarketIfTouched: 스톱 주문과 유사하지만, 반대 방향으로 트리거됩니다. 이익 실현 주문에 유용합니다.
  • LimitIfTouched: 위와 동일하며, 이익 실현 지정가 주문에 사용합니다.
  • Pegged: Pegged 주문은 현재 시장가를 기준으로 상대적인 지정가를 제출할 수 있게 해줍니다. pegPriceTypepegOffsetValue를 지정합니다.
    • Pegged 주문에는 반드시 Fixed라는 execInst가 있어야 합니다. 이는 주문이 접수될 때 지정가가 설정되며, 기준 가격이 변경되더라도 변하지 않음을 의미합니다.
    • PrimaryPeg: 근접 호가 가격을 기준으로 가격이 설정됩니다.
    • MarketPeg: 원거리 호가 가격을 기준으로 가격이 설정됩니다.
    • ordType 없이 pegPriceType만 제출하면 주문은 Pegged 주문으로 처리됩니다.

실행 지침

지원되는 execInst는 다음과 같습니다. 여러 개를 사용할 경우 쉼표로 구분하십시오(예: LastPrice,Close).

  • ParticipateDoNotInitiate: 포스트-온리 주문으로도 알려져 있습니다. 이 주문이 제출 시점에 즉시 체결될 경우, 대신 취소됩니다. 이는 주문이 전송되는 동안 원거리 호가가 귀하 쪽으로 움직이는 상황으로부터 보호하기 위한 것입니다. 주문 제출 후 원거리 호가가 반대로 움직일 것이라는 투기 목적으로 사용되는 것은 의도된 바가 아니며, 이러한 행위는 남용으로 간주되어 모니터링됩니다.
  • MarkPrice, LastPrice, IndexPrice: 스톱 및 if-touched 주문에서 트리거 가격을 결정하는 데 사용됩니다. 하나만 사용하십시오. 기본적으로 MarkPrice가 사용됩니다. 또한 Pegged 주문에서 LastPeg의 기준값을 정의하는 데 사용됩니다. IndexPrice는 현물 거래 심볼에는 적용되지 않습니다.
  • ReduceOnly: ReduceOnly 주문은 포지션을 줄이기만 하고 늘릴 수 없습니다. 주문서에 대기 중인 ReduceOnly 지정가 주문이 있을 때 다른 주문으로 인해 포지션이 줄어들면, 해당 주문 수량은 줄어들거나 취소됩니다. 여러 개의 ReduceOnly 주문이 있을 경우, 가장 공격적이지 않은 주문부터 수정됩니다. 현물 거래 심볼에는 적용되지 않습니다.
  • Close: CloseReduceOnly를 함축합니다. Close 주문은 동일한 방향과 심볼을 가진, 포지션 잔량을 초과하는 다른 활성 지정가 주문을 취소합니다. 이는 스톱 주문에 유용합니다. 이러한 주문을 취소함으로써, Close 스톱 주문은 실행에 필요한 증거금을 확보할 수 있고, 현재 포지션 규모 범위 내에서만 실행될 수 있습니다. orderQty를 지정하지 않은 Close 주문의 orderQty는 현재 포지션 규모와 동일합니다. 현물 거래 심볼에는 적용되지 않습니다.
    • orderQty가 없는 Close 주문은 비트멕스가 stopPx 위/아래 중 어디에서 트리거해야 하는지 알 수 있도록 side를 필요로 합니다.
  • LastWithinMark: LastPrice를 사용하는 스톱 주문에서 다음 조건을 만족할 때만 스톱 트리거를 허용하는 데 사용됩니다.
    • 매도 스톱 마켓 / 스톱 리밋 주문
      • 최종 가격 ≤ 스톱 가격
      • 최종 가격 ≥ 표시 가격 × (1 - 5%)
    • 매수 스톱 마켓 / 스톱 리밋 주문
      • 최종 가격 ≥ 스톱 가격
      • 최종 가격 ≤ 표시 가격 × (1 + 5%)
    • 현물 거래 심볼에는 적용되지 않습니다.
  • Fixed: Pegged 주문에는 반드시 Fixed라는 execInst가 있어야 합니다. 이는 주문이 접수될 때 지정가가 설정되며, 기준 가격이 변경되더라도 변하지 않음을 의미합니다.

Pegged 주문

Pegged 주문을 사용하면 현재 시장가를 기준으로 상대적인 지정가를 제출할 수 있습니다. 지정가는 주문 제출 시점에 한 번 설정되며, 기준 가격이 변하더라도 변경되지 않습니다. 이 주문 유형은 제출 후 원거리 호가가 반대로 움직이는 것에 투기하는 용도로 의도된 것이 아니며, 그러한 행위는 남용으로 간주되어 모니터링됩니다.

Pegged 주문의 ordTypePegged이고, execInstFixed입니다.

또한 pegPriceTypepegOffsetValue를 같이 제출해야 합니다.

  • PrimaryPeg - 근접 호가 가격을 기준으로 설정됩니다.
  • MarketPeg - 원거리 호가 가격을 기준으로 설정됩니다.

트레일링 스톱 Pegged 주문

트레일링 스톱을 생성하려면 pegPriceType으로 TrailingStopPeg를 사용하십시오.

가격은 제출 시점에 설정되며, 기초 가격(최종/표시/지수)이 0.1%를 초과하여 움직였을 경우 1초에 한 번씩 업데이트됩니다. 그 후 시장이 페그에서 멀어질 경우 stopPx가 따라 움직이고, 시장이 페그 쪽으로 움직이면 stopPx는 고정됩니다.

주문의 stopPx를 설정하려면 pegOffsetValue를 사용하십시오. 페그는 execInst에서 지정한 트리거 가격(기본값 MarkPrice)에 설정됩니다. 스톱 매도 및 buy-if-touched 주문에는 음수 오프셋을 사용하십시오.

필수 ordType: Stop, StopLimit, MarketIfTouched, LimitIfTouched.

연결 주문(Linked Orders)

연결 주문은 고급 기능입니다. 매우 강력하지만, 사용 시에는 주의 깊은 코딩과 테스트가 필요합니다. 이 문서를 꼼꼼히 따라 주시고 개발 시에는 테스트넷 거래소를 사용하십시오.

비트멕스는 네 가지 고급 연결 주문 유형을 제공합니다.

  • OCO: One Cancels the Other(서로 취소 주문). 표준 스톱 / 이익 실현 기법의 매우 유연한 버전입니다. 여러 주문은 단일 clOrdLinkID를 사용해 서로 연결할 수 있습니다. 주문에 OneCancelsTheOther라는 contingencyType을 설정하십시오. 최초로 전체 또는 일부가 체결되거나(Stop 주문의 경우 활성화되는) 주문이 발생하면, 동일한 clOrdLinkID를 가진 다른 모든 주문이 취소됩니다.
  • OTO: One Triggers the Other(서로 트리거 주문). 기본 주문에 OneTriggersTheOther라는 contingencyType을 설정하면, 동일한 clOrdLinkID를 가진 이후 주문은 기본 주문이 전량 체결될 때까지 트리거되지 않습니다.

트레일링 스톱

pegPriceType으로 'TrailingStopPeg'를 사용해 트레일링 스톱을 생성할 수 있습니다. 페그된 stopPx는 시장이 페그에서 멀어질 경우 따라 움직이고, 시장이 페그 쪽으로 움직이면 고정됩니다.

이를 사용하려면 pegOffsetValue와 조합해 주문의 stopPx를 설정하십시오. 페그는 execInst에서 지정한 트리거 가격(기본값 'MarkPrice')에 설정됩니다. 스톱 매도 및 buy-if-touched 주문에는 음수 오프셋을 사용하십시오.

필수 ordType: 'Stop', 'StopLimit', 'MarketIfTouched', 'LimitIfTouched'.

Simple 수량

Simple 수량은 2018/10/26부로 더 이상 지원되지 않습니다

레이트 리밋

Amend 엔드포인트(PUT /order)를 사용하면 레이트 리밋을 준수하면서도 시장 움직임에 더 민감하게 대응할 수 있습니다. 이렇게 하면 시장에 계속 참여하면서 취소/재등록 사이클을 피할 수 있습니다.

주문 추적

주문 ID를 직접 관리하려면 주문마다 고유한 clOrdID를 설정하십시오. 이 clOrdID는 주문 및 관련 체결(웹소켓 포함)에 속성으로 반환되며, 주문 조회 또는 취소에 사용할 수 있습니다. 최대 길이는 36자입니다.

또한 주문을 수정하면서 origClOrdID와 원하는 새 ID를 clOrdID 매개변수로 제공하여 clOrdID를 변경할 수 있습니다. 예시는 다음과 같습니다.

# 주문의 leavesQty를 수정하고 clOrdID를 "def-456"으로 변경합니다.
PUT /api/v1/order {"origClOrdID": "abc-123", "clOrdID": "def-456", "leavesQty": 1000}

요청

응답

요청이 성공했습니다