MEXC perpetuele en leveringscontracten bieden een speciale streaming-API gedocumenteerd in de officiële Futures WebSocket-specificatie. Het component TsgcWSAPI_MEXC_Futures kapselt de verbinding, de aanmeldings-handshake en het topicbeheer in die nodig zijn om realtime derivatengegevens te gebruiken.
MEXC onderhoudt ook een REST-interface voor derivatenhandel. Het TsgcHTTP_API_MEXC_Futures-component dat is opgenomen in sgcHTTP_API_MEXC vult de WebSocket-feeds aan met HTTP-hulpmiddelen die één-op-één overeenkomen met de officiële endpoints.
Het Futures WebSocket-eindpunt is wss://contract.mexc.com/edge. Berichten worden gecodeerd als JSON-objecten en de exchange vereist periodieke ping/pong-frames, die automatisch door de component worden afgehandeld.
Om privémeldingen (order- en accountgegevens) te ontvangen, moet u zich authenticeren. Stel MEXCAPI.ApiKey en MEXCAPI.ApiSecret in voordat u de WebSocket-client activeert. Wanneer er inloggegevens aanwezig zijn, ondertekent de component een inlogverzoek (HMAC SHA256) zodra de socket verbinding maakt.
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;
De volgende handler registreert abonnementsbevestigingen en drukt inkomende diepte-snapshots af:
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;
Elke helper omhult een sub/unsub-verzoek zoals beschreven door de officiële API. Gebruik de bijbehorende UnSubscribe*-methode om de stream te annuleren.
| Methode | Parameters | Beschrijving |
| SubscribeDeal | Symbol | Uitgevoerde transacties op het contract (kanaal: deal). |
| SubscribeTickers | – | Globaal ticker statistics for alle contracts. |
| SubscribeTicker | Symbol | Ticker-overzicht voor één instrument. |
| SubscribeDepth | Symbool, Comprimeren | Incremental order book updates |
| SubscribeDepthFull | Symbol, Level | Volledige diepte-snapshots met configureerbaar aantal niveaus (standaard 20). |
| SubscribeKline | Symbool, Interval | Candlestick data for supported timeframes (Min1, Min5, Min15, Min30, Min60, Hour4, Hour12, Day1, Week1, Month1). |
| SubscribeFundingRate | Symbol | Meest recente aankondigingen van financieringstarieven. |
| SubscribeIndexPrice | Symbol | Onderliggende indexprijsstream. |
| SubscribeFairPrice | Symbol | Markprijs-updates gepusht door de exchange. |
Wanneer de server een aanvraag bevestigt, wordt de gebeurtenis OnMEXCSubscribed geactiveerd met de kanaalnaam (bijvoorbeeld rs.sub.depth.BTC_USDT). Fouten worden doorgestuurd via OnMEXCError, inclusief het serverfoutbericht voor probleemoplossing.
Privékanalen vereisen een geldige API-sleutel. De component authenticeert automatisch wanneer referenties zijn opgegeven.
| Methode | Beschrijving |
| SubscribePersonalOrder | Persoonlijke orderupdates. |
| SubscribePersonalOrderDeal | Persoonlijke updates van ordertransacties (vullingen). |
| SubscribePersonalPosition | Persoonlijke positie-updates. |
| SubscribePersonalPlanOrder | Updates van persoonlijk plan (trigger) orders. |
| SubscribePersonalStopOrder | Persoonlijke stop-order updates. |
| SubscribePersonalStopPlanOrder | Persoonlijke stop-plan-orderupdates. |
| SubscribePersonalRiskLimit | Updates van persoonlijke risicolimiet. |
| SubscribePersonalADLLevel | Persoonlijke ADL (auto-deleveraging) niveauupdates. |
| SubscribePersonalAsset | Persoonlijke activaupdates. |
Openbaar beschikbare REST-methoden.
| Methode | Beschrijving |
| GetPing | Controleert de bereikbaarheid van de API via /api/v1/ping. |
| GetServerTime | Retourneert de servertijdstempel van /api/v1/time. |
| GetContracts | Biedt de lijst van beschikbare contracten (/api/v1/contract/detail). |
| GetDepth | Downloadt orderboekdiepte van /api/v1/contract/depth; gebruik de optionele parameter limit (standaard 50) om het aantal niveaus te selecteren. |
| GetDeals | Haalt recente handel op via /api/v1/contract/deals met een optionele limit (standaard 100). |
| GetKlines | Retourneert candlestickgegevens via /api/v1/contract/kline met optionele startTime-, endTime- en limit-filters (standaard 200). |
| GetIndexPrice | Haalt de onderliggende indexprijs op voor het opgevraagde symbool (/api/v1/contract/indexPrice). |
| GetFairPrice | Retourneert de reële (mark-)prijs voor een contract van /api/v1/contract/fairPrice. |
| GetFundingRate | Rapporteert de laatste financieringsrente voor een symbool via /api/v1/contract/fundingRate. |
| GetAllTickers | Haal alle futures-contracttickers op met realtime prijsoverzichten. |
| GetFundingRateHistory | Historische financieringsrategegevens ophalen voor een contract. |
| GetFairPriceKline | Get fair (mark) price kline/candlestick data for a contract. |
| GetIndexPriceKline | Haal indexprijs kline/candlestick-gegevens op voor een contract. |
Private derivatives-endpoints vereisen API-credentials. Het component ondertekent elk verzoek automatisch met de timestamp en recvWindow.
| Methode | Beschrijving |
| GetAccountAssets | Returns margin balances from /api/v1/private/account/assets. |
| GetPositionList | Geeft huidige posities weer via /api/v1/private/position/list, optioneel gefilterd op symbool. |
| SetPositionLeverage | Werkt de leverage bij voor een symbool en, indien opgegeven, de marginmodus. |
| PlaceOrder | Plaatst een futures-order op /api/v1/private/order met symbol, side, positionSide, type en quantity, plus optioneel price, clientOrderId en extra parameters. |
| CancelOrder | Annuleert een specifieke order via /api/v1/private/order/cancel op basis van orderId of clientOrderId. |
| CancelAllOrders | Annuleert alle openstaande orders voor een symbool via /api/v1/private/order/cancel-all. |
| GetOpenOrders | Geeft huidige openstaande orders weer via /api/v1/private/order/list/open met een optioneel symboolfilter. |
| GetOrderHistory | Haalt ordergeschiedenis op (/api/v1/private/order/list/history) met optionele symbool-, tijdsbereik- en limietparameters. |
| GetFundingHistory | Retourneert eerdere financieringsbetalingen van /api/v1/private/account/funding met optionele filters voor startTime, endTime en limit. |
| GetOpenPositions | Haal alle momenteel open posities op. |
| ChangeMargin | Wijzig het margebedrag voor een positie. |
| GetPositionMode | Haal de huidige positiemodus op (eenrichtings- of hedgemodus). |
| ChangePositionMode | Wijzig de positiemodus tussen éénrichtings- en hedgemodus. |
| PlaceBatchOrder | Plaats meerdere futures-orders in één batchverzoek. |
| GetOrderDetail | Haal gedetailleerde informatie op voor een specifieke order. |
| GetOrderDealDetails | Haal gegevens over vulling/deal op voor een specifiek order. |
| PlaceTriggerOrder | Plaats een triggerorder (plan) die wordt uitgevoerd wanneer aan de voorwaarden is voldaan. |
| CancelTriggerOrder | Annuleer een specifieke triggerorder. |
| CancelAllTriggerOrders | Annuleer alle openstaande triggerorders. |
| GetTriggerOrders | Haal de lijst van trigger (plan) orders op. |
| GetStopOrders | Haal de lijst op met stoporders. |
| CancelStopOrder | Annuleer een specifieke stoporder. |
| CancelAllStopOrders | Annuleer alle openstaande stop-orders. |