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ış
- Spot WebSocket API
- Spot REST API
- Futures WebSocket API
- Futures REST API
- Başlarken, Kod Örnekleri
- Yapılandırma Referansı
- İpuçları ve Notlar
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:
TsgcWSAPI_MEXC— Spot piyasasını işler. Gerçek zamanlı işlemler, kline'lar, derinlik ve ticker'lar için WebSocket aboneliklerinin yanı sıra özel hesap olay akışları sağlar. REST arayüzüneREST_API(türTsgcHTTP_API_MEXC_Spot) aracılığıyla erişilir.TsgcWSAPI_MEXC_Futures— Futures piyasasını işler. Alım satımlar, fonlama oranları, endeks fiyatları ve adil fiyatlar gibi futures'a özgü veriler için WebSocket abonelikleri sağlar. REST arayüzüneREST_API(türTsgcHTTP_API_MEXC_Futures) aracılığıyla erişilir.
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.