API MEXC Futures

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.

 

Componentconfiguratie

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;

 

Eigenschappen

 

Gebeurtenissen

 

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;

 

WebSocket-abonnementsmethoden

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é channels

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.

 

 

 

Publieke REST-eindpunten

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/index_price).
GetFairPrice Retourneert de reële (mark-)prijs voor een contract van /api/v1/contract/fair_price.
GetFundingRate Rapporteert de laatste financieringsrente voor een symbool via /api/v1/contract/funding_rate.
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.

 

Privé REST-eindpunten

Private derivatives-endpoints vereisen API-credentials. Het component ondertekent elk verzoek automatisch met de timestamp en recvWindow.

 

Ingrijpende wijziging: de signaturen van PlaceOrder en SetPositionLeverage zijn gewijzigd om overeen te komen met de contract-eindpunten die MEXC publiceert, zodat een toepassing die deze aanroept niet meer compileert totdat zij is bijgewerkt. PlaceOrder heeft zijn parameter positionSide vervangen door openType, en SetPositionLeverage heeft marginMode, die het eindpunt niet accepteert, vervangen door positionId, openType en positionType. Ook zijn verschillende eindpuntroutes gecorrigeerd.

 

Methode Beschrijving
GetAccountAssets Returns margin balances from /api/v1/private/account/assets.
GetPositionList Geeft huidige posities weer via /api/v1/private/position/list/history_positions.
SetPositionLeverage Werkt de leverage van een positie bij via /api/v1/private/position/change_leverage. Deze methode neemt het symbol en de leverage, plus een optionele positionId, en openType (1 geïsoleerd, 2 cross) en positionType (1 long, 2 short) die alleen vereist zijn wanneer de positie nog niet open is.
PlaceOrder Plaatst een futures-order op /api/v1/private/order/submit met symbol, side, type, openType (1 geïsoleerd, 2 cross), de hoeveelheid, die als vol wordt verzonden, en de price, die het eindpunt ook voor marktorders vereist, plus een optionele externalOid 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_orders 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.