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.ApiKey와 MEXCAPI.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;
다음 핸들러는 구독 확인을 기록하고 들어오는 깊이 스냅샷을 인쇄합니다:
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;
각 헬퍼는 공식 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 | 개인 자산 업데이트. |
공개적으로 사용 가능한 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, endTime 및 limit 필터(기본값 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/캔들스틱 데이터를 가져옵니다. |
프라이빗 파생 상품 엔드포인트에는 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, endTime 및 limit 필터와 함께 과거 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 주문을 취소합니다. |