sgcWebSockets'te MEXC API Güncellemesi

· Özellikler
Delphi'de MEXC Spot ve Futures API Entegrasyonu

MEXC, yüzlerce token çiftinde spot alım satımı ve sürekli futures sözleşmelerini destekleyen küresel bir kripto para borsasıdır. Delphi geliştiricileri, iki özel bileşen aracılığıyla MEXC ile entegre olabilir: Spot piyasası için TsgcWSAPI_MEXC ve Futures piyasası için TsgcWSAPI_MEXC_Futures. Her bileşen, hem gerçek zamanlı veriler için WebSocket abonelikleri hem de talep üzerine sorgular ve emir yönetimi için bir REST arayüzü sağlar. Bu makale, her iki piyasada da mevcut her metodu ayrıntılı olarak ele alır.

İçindekiler

Mimariye Genel Bakış

MEXC, Spot ve Futures piyasaları için ayrı API yüzeyleri sağlar. sgcWebSockets kitaplığında bu, iki ayrı bileşenle yansıtılır:

Her iki bileşen de aynı kalıbı izler: bir TsgcWebSocketClient atayın, API kimlik bilgilerini yapılandırın, WebSocket abonelikleri için istemciyi etkinleştirin ve senkron HTTP çağrıları için REST_API'ye erişin.

Spot WebSocket API

Spot WebSocket API, genel kanallar aracılığıyla gerçek zamanlı piyasa verileri ve özel kanallar aracılığıyla hesap güncellemeleri sağlar. Her aboneliğin, karşılık gelen bir abonelikten çıkma metodu vardır.

Genel Kanallar

Subscribe Unsubscribe Açıklama
SubscribeTrade UnSubscribeTrade Bir sembol için gerçek zamanlı işlem gerçekleşmeleri.
SubscribeKline UnSubscribeKline Bir sembol ve aralık için canlı mum/kline güncellemeleri.
SubscribeDiffDepth UnSubscribeDiffDepth Artımlı emir defteri derinliği güncellemeleri (diff akışı).
SubscribeBookDepth UnSubscribeBookDepth Belirli bir seviyede tam emir defteri derinliği anlık görüntüleri.
SubscribeBookTicker UnSubscribeBookTicker Belirli bir sembol için en iyi alış/satış fiyatı ve miktarı.
SubscribeBookTickerBatch UnSubscribeBookTickerBatch Tüm semboller için en iyi alış/satış fiyatları tek bir akışta.
SubscribeMiniTickers UnSubscribeMiniTickers Tüm semboller için özet ticker verileri (fiyat, hacim).
SubscribeMiniTicker UnSubscribeMiniTicker Belirli bir sembol için özet ticker verileri.

Özel Kanallar

Özel kanallar kimlik doğrulama gerektirir ve hesap etkinliğiniz hakkında gerçek zamanlı güncellemeler sunar. Kullanıcı veri akışını MEXCUserDataStreams.UserStream özelliği aracılığıyla etkinleştirin.

Subscribe Unsubscribe Açıklama
SubscribeAccountUpdate UnSubscribeAccountUpdate Değişiklikler olduğunda hesap bakiyesi ve pozisyon güncellemeleri.
SubscribeAccountDeals UnSubscribeAccountDeals Emirleriniz gerçekleştiğinde (işlem gerçekleşmeleri) gerçek zamanlı bildirimler.
SubscribeAccountOrders UnSubscribeAccountOrders Emir durumu değişiklikleri (verildi, kısmen gerçekleşti, gerçekleşti, iptal edildi).

Spot REST API

Spot REST API'ye oMEXC.REST_API (tür TsgcHTTP_API_MEXC_Spot) aracılığıyla erişilir. Genel uç noktalar kimlik doğrulama gerektirmez; özel uç noktalar geçerli bir API anahtarı ve gizli anahtar gerektirir.

Genel Uç Noktalar

Metot Açıklama
Ping MEXC API sunucusuna bağlantıyı test eder.
GetServerTime Geçerli MEXC sunucu zamanını döndürür.
GetDefaultSymbols Varsayılan alım satım sembollerinin listesini döndürür.
GetExchangeInformation Borsa alım satım kurallarını ve sembol bilgilerini döndürür (filtreler, hassasiyet, durum).
GetOrderBook Belirli bir derinlikte bir sembol için emir defterini (alışlar ve satışlar) döndürür.
GetTrades Bir sembol için son herkese açık işlemleri döndürür.
GetAggregateTrades Toplanmış/sıkıştırılmış işlem kayıtlarını döndürür.
GetKlines Bir sembol ve aralık için geçmiş kline/mum verilerini döndürür.
GetAveragePrice Bir sembol için geçerli ortalama fiyatı döndürür.
Get24hrTicker 24 saatlik kayan pencere fiyat değişimi istatistiklerini döndürür.
GetPriceTicker Bir veya tüm semboller için en son fiyatı döndürür.
GetBookTicker Emir defterinden en iyi alış/satış fiyatını ve miktarını döndürür.

Özel Uç Noktalar

Metot Açıklama
NewOrder Yeni bir spot emri (piyasa, limit veya desteklenen diğer türler) verir.
TestNewOrder Bir yeni emri gerçekten vermeden doğrular (deneme çalıştırması).
CancelOrder Emir kimliğine göre belirli bir açık emri iptal eder.
CancelAllOrders Bir sembol için tüm açık emirleri iptal eder.
GetOrder Belirli bir emrin durumunu ve ayrıntılarını döndürür.
GetOpenOrders Şu anda açık (gerçekleşmemiş) tüm emirleri döndürür.
GetAllOrders Bir zaman aralığındaki tüm emirleri (açık, gerçekleşmiş, iptal edilmiş) döndürür.
GetAccountInformation Hesap bakiyelerini ve izinlerini döndürür.
GetMyTrades Bir sembol için işlem geçmişinizi döndürür.
GetSubAccounts Ana hesabın altındaki alt hesapların bir listesini döndürür.
GetDepositAddress Belirli bir coin ve ağ için yatırma adresini döndürür.
GetWithdrawHistory Para çekme geçmişi kayıtlarını döndürür.
Withdraw Harici bir adrese para çekme işlemi başlatır.
GetCapitalConfig Sermaye yapılandırmasını döndürür (desteklenen ağlar, min/maks para çekme tutarları, ücretler).

Futures WebSocket API

Futures WebSocket API, sürekli futures sözleşmelerine özgü gerçek zamanlı veriler sağlar. Tüm kanallar geneldir ve kimlik doğrulama gerektirmez. Her aboneliğin, karşılık gelen bir abonelikten çıkma metodu vardır.

Subscribe Unsubscribe Açıklama
SubscribeDeal UnSubscribeDeal Gerçek zamanlı futures işlem/alım satım gerçekleşmeleri.
SubscribeTickers UnSubscribeTickers Tüm futures sözleşmeleri için ticker verileri.
SubscribeTicker UnSubscribeTicker Belirli bir futures sözleşmesi için ticker verileri.
SubscribeDepth UnSubscribeDepth Futures için artımlı emir defteri derinliği güncellemeleri.
SubscribeDepthFull UnSubscribeDepthFull Futures için tam emir defteri derinliği anlık görüntüleri.
SubscribeKline UnSubscribeKline Futures sözleşmeleri için canlı mum/kline güncellemeleri.
SubscribeFundingRate UnSubscribeFundingRate Sürekli sözleşmeler için gerçek zamanlı fonlama oranı güncellemeleri.
SubscribeIndexPrice UnSubscribeIndexPrice Gerçek zamanlı endeks fiyatı güncellemeleri.
SubscribeFairPrice UnSubscribeFairPrice Tasfiye hesaplamaları için kullanılan gerçek zamanlı adil/işaret fiyatı güncellemeleri.

Futures REST API

Futures REST API'ye oMEXCFut.REST_API (tür TsgcHTTP_API_MEXC_Futures) aracılığıyla erişilir. Piyasa verilerini, hesap yönetimini, pozisyon kontrolünü ve emir işlemlerini kapsar.

Genel Uç Noktalar

Metot Açıklama
GetPing MEXC Futures API sunucusuna bağlantıyı test eder.
GetServerTime Geçerli futures sunucu zamanını döndürür.
GetContracts Mevcut tüm futures sözleşmelerinin ve özelliklerinin bir listesini döndürür.
GetDepth Bir futures sözleşmesi için emir defteri derinliğini döndürür.
GetDeals Bir futures sözleşmesi için son herkese açık işlem/alım satım geçmişini döndürür.
GetKlines Bir futures sözleşmesi için geçmiş kline/mum verilerini döndürür.
GetIndexPrice Bir sözleşme için geçerli endeks fiyatını döndürür.
GetFairPrice Bir sözleşme için geçerli adil/işaret fiyatını döndürür.
GetFundingRate Bir sürekli sözleşme için geçerli ve tahmini fonlama oranını döndürür.

Özel Uç Noktalar

Metot Açıklama
GetAccountAssets Futures hesabı varlık bakiyelerini ve marj bilgilerini döndürür.
GetPositionList Tüm açık futures pozisyonlarını boyut, giriş fiyatı ve PnL ile döndürür.
SetPositionLeverage Belirli bir futures sözleşmesi için kaldıraç çarpanını ayarlar.
PlaceOrder Yeni bir futures emri (piyasa, limit veya desteklenen diğer türler) verir.
CancelOrder Belirli bir açık futures emrini iptal eder.
CancelAllOrders Bir sözleşme için tüm açık futures emirlerini iptal eder.
GetOpenOrders Şu anda açık olan tüm futures emirlerini döndürür.
GetOrderHistory Geçmiş futures emirlerini (gerçekleşmiş, iptal edilmiş vb.) döndürür.
GetFundingHistory Fonlama ücreti ödeme geçmişinizi döndürür.

Başlarken, Kod Örnekleri

Spot Piyasası Örneği

Aşağıdaki örnek, MEXC Spot WebSocket'e bağlanır, gerçek zamanlı işlemlere abone olur, REST aracılığıyla borsa bilgilerini sorgular ve bir piyasa alış emri verir.

var
  oClient: TsgcWebSocketClient;
  oMEXC: TsgcWSAPI_MEXC;
begin
  // Create the WebSocket client
  oClient := TsgcWebSocketClient.Create(nil);
  // Create the MEXC Spot API component
  oMEXC := TsgcWSAPI_MEXC.Create(nil);
  oMEXC.Client := oClient;
  // Configure API credentials
  oMEXC.MEXCAPI.ApiKey := 'your_api_key';
  oMEXC.MEXCAPI.ApiSecret := 'your_api_secret';
  // Connect to the WebSocket
  oClient.Active := True;
  // WebSocket: Subscribe to real-time trades for BTCUSDT
  oMEXC.SubscribeTrade('BTCUSDT');
  // REST: Get exchange information
  ShowMessage(oMEXC.REST_API.GetExchangeInformation);
  // REST: Place a market buy order for 0.001 BTC
  ShowMessage(oMEXC.REST_API.NewOrder('BTCUSDT', 'BUY', 'MARKET', '', 0.001));
end;

Futures Piyasası Örneği

Bu örnek, MEXC Futures WebSocket'e bağlanır, bir futures ticker'ına abone olur ve REST aracılığıyla mevcut sözleşmeleri sorgular.

var
  oClientFut: TsgcWebSocketClient;
  oMEXCFut: TsgcWSAPI_MEXC_Futures;
begin
  // Create the WebSocket client for futures
  oClientFut := TsgcWebSocketClient.Create(nil);
  // Create the MEXC Futures API component
  oMEXCFut := TsgcWSAPI_MEXC_Futures.Create(nil);
  oMEXCFut.Client := oClientFut;
  // Configure API credentials
  oMEXCFut.MEXCFuturesAPI.ApiKey := 'your_api_key';
  oMEXCFut.MEXCFuturesAPI.ApiSecret := 'your_api_secret';
  // Connect to the WebSocket
  oClientFut.Active := True;
  // WebSocket: Subscribe to futures ticker for BTC_USDT
  oMEXCFut.SubscribeTicker('BTC_USDT');
  // REST: Get all available futures contracts
  ShowMessage(oMEXCFut.REST_API.GetContracts);
end;
Not: Spot ve Futures ayrı WebSocket bağlantıları ve ayrı API bileşenleri kullanır. Her biri için ayrı bir TsgcWebSocketClient örneğine ihtiyacınız vardır.

Yapılandırma Referansı

Spot Yapılandırması

Özellik Tür Açıklama
MEXCAPI.ApiKey String Kimliği doğrulanmış spot istekleri için MEXC API anahtarınız.
MEXCAPI.ApiSecret String İstek imzalama için MEXC API gizli anahtarınız.
MEXCUserDataStreams.UserStream Boolean Hesap güncellemeleri, alım satımlar ve emir olayları için özel kullanıcı veri akışını etkinleştirmek üzere True olarak ayarlayın.

Futures Yapılandırması

Özellik Tür Açıklama
MEXCFuturesAPI.ApiKey String Kimliği doğrulanmış futures istekleri için MEXC API anahtarınız.
MEXCFuturesAPI.ApiSecret String Futures istek imzalama için MEXC API gizli anahtarınız.

İpuçları ve Notlar

Spot ve Futures için Ayrı Bileşenler

MEXC; Spot ve Futures'ı farklı API uç noktaları, sembol adlandırma kuralları (örneğin spot için BTCUSDT, futures için BTC_USDT) ve kimlik doğrulama kapsamlarına sahip tamamen ayrı piyasalar olarak ele alır. Hedef piyasanız için her zaman doğru bileşeni kullanın.

Kullanıcı Veri Akışları

Spot WebSocket'te özel hesap olaylarını (hesap güncellemeleri, alım satımlar, emir değişiklikleri) almak için, istemciyi etkinleştirmeden önce MEXCUserDataStreams.UserStream := True olarak ayarlamanız gerekir. Bu, bileşene bir listen key talep etmesini ve özel akışı otomatik olarak kurmasını söyler.

Emir Testi

Emri gerçekten vermeden emir parametrelerini doğrulamak için Spot REST API'sinde TestNewOrder metodunu kullanın. Bu; gerçek fonları taahhüt etmeden önce sembol, side, type ve quantity parametrelerinizin doğru biçimlendirildiğini doğrulamak için kullanışlıdır.

Sembol Adlandırma Kuralları

İki piyasadaki farklı sembol biçimlerine dikkat edin. Spot, BTCUSDT gibi birleştirilmiş çiftler kullanırken, Futures BTC_USDT gibi alt çizgiyle ayrılmış çiftler kullanır. Yanlış biçimin kullanılması "symbol not found" hatalarına yol açar.

Hız Limitleri

MEXC, hem REST hem de WebSocket API'lerinde hız limitleri uygular. REST uç noktaları genellikle dakika başına sabit sayıda isteğe izin verir. Limiti aşarsanız, bir 429 durum kodu alırsınız. Uygun backoff mantığı uygulayın veya sık değişen veriler için WebSocket abonelikleri kullanın.

İpucu: Yüksek frekanslı izleme için, REST uç noktalarını yoklamak yerine WebSocket aboneliklerini tercih edin. Abonelikler verileri daha düşük gecikmeyle gerçek zamanlı olarak sunar ve REST hız limitlerine sayılmaz.