API MEXC Futures

MEXC 무기한 및 인도 계약은 공식 Futures WebSocket 사양에 문서화된 전용 스트리밍 API를 노출합니다. TsgcWSAPI_MEXC_Futures 구성 요소는 실시간 파생 상품 데이터를 소비하는 데 필요한 연결, 로그인 핸드셰이크 및 토픽 관리를 캡슐화합니다.

 

MEXC는 파생 상품 거래를 위한 REST 인터페이스도 유지합니다. sgcHTTP_API_MEXC에 포함된 TsgcHTTP_API_MEXC_Futures 구성 요소는 공식 엔드포인트와 일대일로 매핑되는 HTTP 헬퍼로 WebSocket 피드를 보완합니다.

 

구성 요소 구성

Futures WebSocket 엔드포인트는 wss://contract.mexc.com/edge입니다. 메시지는 JSON 객체로 인코딩되며, 거래소는 주기적인 ping/pong 프레임을 요구하는데, 이는 구성 요소가 자동으로 처리합니다.

 

비공개 알림(주문 및 계정 데이터)을 수신하려면 인증해야 합니다. WebSocket 클라이언트를 활성화하기 전에 MEXCAPI.ApiKeyMEXCAPI.ApiSecret을 설정하십시오. 자격 증명이 있으면 구성 요소는 소켓이 연결되는 즉시 로그인 요청에 서명합니다(HMAC SHA256).

 

var
  WSClient: TsgcWebSocketClient;
  Futures: TsgcWSAPI_MEXC_Futures;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  Futures := TsgcWSAPI_MEXC_Futures.Create(nil);
  Futures.Client := WSClient;
  Futures.MEXCAPI.ApiKey := 'YOUR_KEY';
  Futures.MEXCAPI.ApiSecret := 'YOUR_SECRET';
  if WSClient.Connect then
    Futures.SubscribeDepth('BTC_USDT', True);
end;

 

Properties

 

Events

 

다음 핸들러는 구독 확인을 기록하고 들어오는 깊이 스냅샷을 인쇄합니다:

 

procedure TMainForm.MEXCSubscribed(Sender: TObject; const aChannel, aRaw: string);
begin
  Memo1.Lines.Add('Subscribed to ' + aChannel);
end;
procedure TMainForm.MEXCMessage(Sender: TObject; const aChannel, aRaw: string);
begin
  if SameText(aChannel, 'push.depth') then
    Memo1.Lines.Add(aRaw);
end;

 

WebSocket 구독 메서드

각 헬퍼는 공식 API에 설명된 대로 sub/unsub 요청을 감쌉니다. 스트림을 취소하려면 해당하는 UnSubscribe* 메서드를 사용하십시오.

 

Method 매개변수 설명
SubscribeDeal Symbol 계약에서 체결된 거래입니다(채널: deal).
SubscribeTickers 모든 계약에 대한 글로벌 티커 통계입니다.
SubscribeTicker Symbol 단일 상품에 대한 Ticker 요약입니다.
SubscribeDepth Symbol, Compress 증분 주문서 업데이트
SubscribeDepthFull Symbol, Level 구성 가능한 레벨 수(기본값 20)의 전체 depth 스냅샷.
SubscribeKline Symbol, Interval 지원되는 타임프레임(Min1, Min5, Min15, Min30, Min60, Hour4, Hour12, Day1, Week1, Month1)의 캔들스틱 데이터입니다.
SubscribeFundingRate Symbol 최신 펀딩 비율 공지입니다.
SubscribeIndexPrice Symbol 기초 인덱스 가격 스트림.
SubscribeFairPrice Symbol 거래소가 푸시하는 Mark(fair) price 업데이트입니다.

 

서버가 요청을 확인하면 OnMEXCSubscribed 이벤트가 채널 이름(예: rs.sub.depth.BTC_USDT)과 함께 발생합니다. 오류는 문제 해결을 위한 서버 메시지를 포함하여 OnMEXCError를 통해 전달됩니다.

프라이빗 채널

비공개 채널에는 유효한 API 키가 필요합니다. 자격 증명이 제공되면 구성 요소가 자동으로 인증합니다.

Method 설명
SubscribePersonalOrder 개인 주문 업데이트.
SubscribePersonalOrderDeal 개인 주문 체결(fill) 업데이트.
SubscribePersonalPosition 개인 포지션 업데이트.
SubscribePersonalPlanOrder 개인 플랜(트리거) 주문 업데이트입니다.
SubscribePersonalStopOrder 개인 stop order 업데이트.
SubscribePersonalStopPlanOrder 개인 스탑 플랜 주문 업데이트.
SubscribePersonalRiskLimit 개인 위험 한도 업데이트.
SubscribePersonalADLLevel 개인 ADL(자동 디레버리징) 레벨 업데이트입니다.
SubscribePersonalAsset 개인 자산 업데이트.

 

 

 

Public REST endpoints

공개적으로 사용 가능한 REST 메서드입니다.

 

Method 설명
GetPing /api/v1/ping을 통해 API 접근 가능성을 확인합니다.
GetServerTime /api/v1/time에서 서버 타임스탬프를 반환합니다.
GetContracts 사용 가능한 계약 목록을 제공합니다(/api/v1/contract/detail).
GetDepth /api/v1/contract/depth에서 호가창 깊이를 다운로드합니다. 레벨 수를 선택하려면 선택적 limit 매개변수(기본값 50)를 사용하십시오.
GetDeals 선택적 limit(기본값 100)와 함께 /api/v1/contract/deals를 사용하여 최근 거래를 검색합니다.
GetKlines 선택적 startTime, endTimelimit 필터(기본값 200)와 함께 /api/v1/contract/kline을 통해 캔들스틱 데이터를 반환합니다.
GetIndexPrice 요청된 심볼의 기초 인덱스 가격을 가져옵니다(/api/v1/contract/indexPrice).
GetFairPrice /api/v1/contract/fairPrice에서 계약에 대한 공정(mark) 가격을 반환합니다.
GetFundingRate /api/v1/contract/fundingRate를 사용하여 심볼에 대한 최신 funding rate를 보고합니다.
GetAllTickers 실시간 가격 요약과 함께 모든 선물 계약 티커를 가져옵니다.
GetFundingRateHistory 계약에 대한 과거 펀딩 비율 기록을 가져옵니다.
GetFairPriceKline 계약에 대한 공정(마크) 가격 kline/캔들스틱 데이터를 가져옵니다.
GetIndexPriceKline 계약에 대한 인덱스 가격 kline/캔들스틱 데이터를 가져옵니다.

 

비공개 REST 엔드포인트

프라이빗 파생 상품 엔드포인트에는 API 자격 증명이 필요합니다. 구성 요소는 timestamp와 recvWindow로 각 요청에 자동으로 서명합니다.

 

Method 설명
GetAccountAssets /api/v1/private/account/assets에서 마진 잔액을 반환합니다.
GetPositionList /api/v1/private/position/list를 통해 현재 포지션을 나열하며, 선택적으로 심볼로 필터링합니다.
SetPositionLeverage 심볼의 레버리지를 업데이트하고, 제공된 경우 마진 모드를 업데이트합니다.
PlaceOrder symbol, side, positionSide, type, quantity와 선택적 price, clientOrderId 및 추가 매개변수를 제공하여 /api/v1/private/order에서 선물 주문을 실행합니다.
CancelOrder orderId 또는 clientOrderId/api/v1/private/order/cancel을 사용하여 특정 주문을 취소합니다.
CancelAllOrders /api/v1/private/order/cancel-all을 통해 심볼에 대한 모든 미결제 주문을 취소합니다.
GetOpenOrders 선택적 심볼 필터와 함께 /api/v1/private/order/list/open을 통해 현재 미결제 주문을 나열합니다.
GetOrderHistory 선택적 심볼, 시간 범위 및 제한 매개변수로 주문 기록(/api/v1/private/order/list/history)을 검색합니다.
GetFundingHistory /api/v1/private/account/funding에서 선택적 startTime, endTimelimit 필터와 함께 과거 funding 지급액을 반환합니다.
GetOpenPositions 현재 미체결인 모든 포지션을 가져옵니다.
ChangeMargin 포지션의 증거금 금액을 변경합니다.
GetPositionMode 현재 포지션 모드(one-way 또는 hedge 모드)를 가져옵니다.
ChangePositionMode one-way와 hedge 모드 사이에서 position 모드를 변경합니다.
PlaceBatchOrder 단일 배치 요청으로 여러 선물 주문을 실행합니다.
GetOrderDetail 특정 주문에 대한 상세 정보를 가져옵니다.
GetOrderDealDetails 특정 주문에 대한 fill/deal 세부 정보를 가져옵니다.
PlaceTriggerOrder 조건이 충족될 때 실행되는 트리거(계획) 주문을 발주합니다.
CancelTriggerOrder 특정 trigger order를 취소합니다.
CancelAllTriggerOrders 모든 열린 트리거 주문을 취소합니다.
GetTriggerOrders 트리거(플랜) 주문 목록을 가져옵니다.
GetStopOrders stop order 목록을 가져옵니다.
CancelStopOrder 특정 stop 주문을 취소합니다.
CancelAllStopOrders 모든 미체결 stop 주문을 취소합니다.