API MEXC Futures

MEXC perpetual ve delivery kontratları, resmi Futures WebSocket belirtiminde belgelenen özel bir akış API'si sunar. TsgcWSAPI_MEXC_Futures bileşeni, gerçek zamanlı türev verilerini tüketmek için gereken bağlantıyı, login handshake'ini ve topic yönetimini kapsar.

 

MEXC ayrıca türev işlemleri için bir REST arayüzü de sürdürür. sgcHTTP_API_MEXC içinde yer alan TsgcHTTP_API_MEXC_Futures bileşeni, WebSocket akışlarını resmi uç noktalarla bire bir eşleşen HTTP yardımcılarıyla tamamlar.

 

Bileşen yapılandırması

Futures WebSocket uç noktası wss://contract.mexc.com/edge adresidir. Mesajlar JSON nesneleri olarak kodlanır ve exchange, bileşen tarafından otomatik olarak işlenen periyodik ping/pong çerçeveleri gerektirir.

 

Özel bildirimleri (emir ve hesap verileri) almak için kimlik doğrulaması yapmanız gerekir. WebSocket istemcisini etkinleştirmeden önce MEXCAPI.ApiKey ve MEXCAPI.ApiSecret'i ayarlayın. Kimlik bilgileri mevcut olduğunda bileşen, soket bağlanır bağlanmaz bir oturum açma isteğini (HMAC SHA256) imzalar.

 

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;

 

Özellikler

 

Olaylar

 

Aşağıdaki işleyici, abonelik onaylarını kaydeder ve gelen derinlik anlık görüntülerini yazdırır:

 

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 Abonelik yöntemleri

Her yardımcı, resmi API tarafından açıklandığı gibi bir sub/unsub isteğini sarar. Akışı iptal etmek için eşleşen UnSubscribe* yöntemini kullanın.

 

Yöntem Parametreler Açıklama
SubscribeDeal Symbol Sözleşmede gerçekleştirilen işlemler (kanal: deal).
SubscribeTickers Tüm sözleşmeler için genel ticker istatistikleri.
SubscribeTicker Symbol Tek bir enstrüman için Ticker özeti.
SubscribeDepth Symbol, Compress Artımlı emir defteri güncellemeleri
SubscribeDepthFull Symbol, Level Yapılandırılabilir seviye sayısına sahip tam derinlik anlık görüntüleri (varsayılan 20).
SubscribeKline Symbol, Interval Desteklenen zaman dilimleri için Candlestick verileri (Min1, Min5, Min15, Min30, Min60, Hour4, Hour12, Day1, Week1, Month1).
SubscribeFundingRate Symbol En son funding rate duyuruları.
SubscribeIndexPrice Symbol Altta yatan endeks fiyatı akışı.
SubscribeFairPrice Symbol Borsa tarafından gönderilen Mark (adil) fiyat güncellemeleri.

 

Sunucu bir isteği onayladığında, OnMEXCSubscribed olayı kanal adıyla (örneğin rs.sub.depth.BTC_USDT) tetiklenir. Hatalar, sorun giderme için sunucu mesajı dahil olmak üzere OnMEXCError aracılığıyla iletilir.

Özel kanallar

Özel kanallar geçerli bir API anahtarı gerektirir. Kimlik bilgileri sağlandığında bileşen otomatik olarak kimlik doğrular.

Yöntem Açıklama
SubscribePersonalOrder Kişisel emir güncellemeleri.
SubscribePersonalOrderDeal Kişisel emir gerçekleşme (fill) güncellemeleri.
SubscribePersonalPosition Kişisel pozisyon güncellemeleri.
SubscribePersonalPlanOrder Kişisel plan (tetikleyici) emir güncellemeleri.
SubscribePersonalStopOrder Kişisel stop emri güncellemeleri.
SubscribePersonalStopPlanOrder Kişisel stop plan sipariş güncellemeleri.
SubscribePersonalRiskLimit Kişisel risk limiti güncellemeleri.
SubscribePersonalADLLevel Kişisel ADL (otomatik kaldıraç azaltma) seviyesi güncellemeleri.
SubscribePersonalAsset Kişisel varlık güncellemeleri.

 

 

 

Genel (Public) REST uç noktaları

Herkese açık REST yöntemleri.

 

Yöntem Açıklama
GetPing /api/v1/ping aracılığıyla API erişilebilirliğini denetler.
GetServerTime /api/v1/time adresinden sunucu zaman damgasını döndürür.
GetContracts Mevcut sözleşmelerin listesini sağlar (/api/v1/contract/detail).
GetDepth /api/v1/contract/depth adresinden emir defteri derinliğini indirir; düzey sayısını seçmek için isteğe bağlı limit parametresini (varsayılan 50) kullanın.
GetDeals İsteğe bağlı bir limit (varsayılan 100) ile /api/v1/contract/deals kullanarak son işlemleri alır.
GetKlines İsteğe bağlı startTime, endTime ve limit filtreleriyle (varsayılan 200) /api/v1/contract/kline aracılığıyla mum verilerini döndürür.
GetIndexPrice İstenen sembol için temel endeks fiyatını alır (/api/v1/contract/indexPrice).
GetFairPrice /api/v1/contract/fairPrice adresinden bir kontrat için fair (mark) fiyatını döndürür.
GetFundingRate /api/v1/contract/fundingRate kullanarak bir sembol için en son fonlama oranını raporlar.
GetAllTickers Gerçek zamanlı fiyat özetleriyle tüm futures sözleşme ticker'larını alın.
GetFundingRateHistory Bir kontrat için geçmiş funding rate kayıtlarını alın.
GetFairPriceKline Bir sözleşme için adil (mark) fiyat kline/mum çubuğu verisini alın.
GetIndexPriceKline Bir sözleşme için endeks fiyatı kline/mum çubuğu verisini alın.

 

Özel REST uç noktaları

Özel türev uç noktaları API kimlik bilgileri gerektirir. Bileşen her isteği timestamp ve recvWindow ile otomatik olarak imzalar.

 

Yöntem Açıklama
GetAccountAssets /api/v1/private/account/assets adresinden margin bakiyelerini döndürür.
GetPositionList /api/v1/private/position/list aracılığıyla mevcut pozisyonları listeler, isteğe bağlı olarak sembole göre filtrelenir.
SetPositionLeverage Bir sembol için kaldıracı ve sağlanmışsa marjin modunu günceller.
PlaceOrder symbol, side, positionSide, type ve quantity artı isteğe bağlı price, clientOrderId ve ek parametreler sağlayarak /api/v1/private/order üzerine bir vadeli işlem emri verir.
CancelOrder orderId veya clientOrderId ile /api/v1/private/order/cancel kullanarak belirli bir emri iptal eder.
CancelAllOrders /api/v1/private/order/cancel-all aracılığıyla bir sembol için tüm açık emirleri iptal eder.
GetOpenOrders İsteğe bağlı bir sembol filtresiyle /api/v1/private/order/list/open aracılığıyla mevcut açık emirleri listeler.
GetOrderHistory İsteğe bağlı sembol, zaman aralığı ve limit parametreleriyle sipariş geçmişini (/api/v1/private/order/list/history) alır.
GetFundingHistory /api/v1/private/account/funding üzerinden, isteğe bağlı startTime, endTime ve limit filtreleriyle geçmiş funding ödemelerini döndürür.
GetOpenPositions Şu anda açık olan tüm pozisyonları alın.
ChangeMargin Bir pozisyon için marjin tutarını değiştirir.
GetPositionMode Mevcut position mode'u (one-way veya hedge modu) alın.
ChangePositionMode Pozisyon modunu tek yönlü (one-way) ve hedge modu arasında değiştirin.
PlaceBatchOrder Tek bir toplu istekte birden fazla futures emri verin.
GetOrderDetail Belirli bir emir için ayrıntılı bilgi alın.
GetOrderDealDetails Belirli bir emir için fill/deal ayrıntılarını alın.
PlaceTriggerOrder Koşullar karşılandığında yürütülen bir tetikleyici (plan) emri verin.
CancelTriggerOrder Belirli bir tetikleyici emrini iptal edin.
CancelAllTriggerOrders Tüm açık tetikleyici (trigger) emirlerini iptal eder.
GetTriggerOrders Tetikleyici (plan) siparişlerinin listesini alın.
GetStopOrders Stop emirlerinin listesini alın.
CancelStopOrder Belirli bir stop emrini iptal eder.
CancelAllStopOrders Tüm açık stop emirlerini iptal eder.