CEX Plus API Güncellemesi sgcWebSockets

· Özellikler
Delphi'de CEX.IO Plus WebSocket API Entegrasyonu

CEX.IO Plus, CEX.IO'nun profesyonel ve kurumsal yatırımcılar için tasarlanmış gelişmiş alım satım platformudur. TsgcWSAPI_CexPlus bileşeni, WebSocket API'sine kapsamlı Delphi erişimi sağlar; piyasa verisi aboneliklerini, emir yönetimini, hesap işlemlerini ve fon transferlerini kapsar — tümü tek bir kalıcı bağlantı üzerinden.

İçindekiler

Genel Bakış

CEX.IO Plus API'si, standart CEX.IO sunumunu önemli ölçüde genişletir. Üç işlevsellik katmanı sağlar: gerçek zamanlı emir defteri ve alım satım akışları için genel abonelikler, tickerların, mumların ve borsa bilgilerinin talep üzerine anlık görüntüleri için piyasa verisi sorguları ve emir yönetimi, ücret sorguları, işlem geçmişi ve fon transferleri dahil tam alım satım işlemleri için hesap metotları. TsgcWSAPI_CexPlus bileşeni, tüm bu yetenekleri kapsar.

Başlarken

Bir TsgcWebSocketClient ve bir TsgcWSAPI_CexPlus bileşeni oluşturun, bunları bağlayın ve API kimlik bilgilerinizi yapılandırın. Bileşen, CEX.IO Plus WebSocket uç noktasına otomatik olarak bağlanır.

oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'your_api_key';
oCexPlus.CexPlus.ApiSecret := 'your_api_secret';
oClient.Active := True;
Not: CEX.IO Plus, standart CEX.IO API'sine kıyasla farklı bir API uç noktası ve kimlik doğrulama şeması kullanır. API kimlik bilgilerinizin standart CEX.IO platformundan değil, CEX.IO Plus panosundan oluşturulduğundan emin olun.

Genel WebSocket Metotları

Genel abonelik metotları, kimlik doğrulaması gerektirmeden gerçek zamanlı veri akışı sağlar. Bunlar piyasa izleme ve canlı veri akışları oluşturmak için idealdir.

Metot Açıklama
SubscribeOrderBook Bir işlem çifti için gerçek zamanlı emir defteri güncellemelerine abone olur.
UnSubscribeOrderBook Bir işlem çifti için emir defteri güncellemelerinden aboneliği iptal eder.
SubscribeTrade Bir işlem çifti için canlı alım satım yürütme akışına abone olur.
UnSubscribeTrade Alım satım yürütme akışından aboneliği iptal eder.
// Subscribe to BTC-USD order book and trades
oCexPlus.SubscribeOrderBook('BTC-USD');
oCexPlus.SubscribeTrade('BTC-USD');
// Unsubscribe when no longer needed
oCexPlus.UnSubscribeOrderBook('BTC-USD');
oCexPlus.UnSubscribeTrade('BTC-USD');

Piyasa Verisi Metotları

Piyasa verisi metotları, borsa verilerinin talep üzerine anlık görüntülerini döndürür. Aboneliklerin aksine bunlar, tek bir sonuç döndüren istek-yanıt çağrılarıdır.

Metot Açıklama
GetTicker Bir çift için güncel ticker'ı (bid, ask, son fiyat) alır.
GetOrderBook Bir çift için güncel emir defteri anlık görüntüsünü alır.
GetCandles Grafik çizimi için OHLCV mum verilerini alır.
GetTradeHistory Bir çift için son genel alım satım geçmişini alır.
GetServerTime Senkronizasyon için güncel sunucu zaman damgasını alır.
GetPairsInfo Tüm mevcut işlem çiftleri hakkında bilgi alır.
GetCurrenciesInfo Desteklenen tüm para birimleri hakkında bilgi alır.
GetProcessingInfo Para yatırma ve çekme işleme ayrıntılarını alır.

Piyasa Verisi Sorgulama

// Get current ticker for BTC-USD
oCexPlus.GetTicker('BTC-USD');
// Get order book snapshot
oCexPlus.GetOrderBook('BTC-USD');
// Get candle data for charting
oCexPlus.GetCandles('BTC-USD');
// Get available trading pairs
oCexPlus.GetPairsInfo;

Hesap ve Alım Satım Metotları

Hesap metotları kimlik doğrulaması gerektirir ve emir verme, hesap durumu kontrolleri, ücret yönetimi ve fon transferleri dahil tam alım satım yetenekleri sağlar.

Hesap Yönetimi

Metot Açıklama
Ping Bağlantıyı sürdürmek için bir keepalive ping gönderir.
CreateAccount Platformda yeni bir alt hesap oluşturur.
GetAccountStatus Güncel hesap durumunu ve ayrıntılarını alır.
GetCurrentFee Hesap için güncel işlem ücreti oranını alır.
GetFeeStrategy Ücret stratejisini ve katman bilgilerini alır.
GetVolume Ücret katmanı hesaplaması için işlem hacmini alır.

Emir Yönetimi

Metot Açıklama
GetOrders Hesaptaki tüm açık emirleri alır.
NewOrder Tam parametre kontrolüyle yeni bir emir verir.
NewMarketOrder Güncel en iyi fiyattan yürütülen bir piyasa emri verir.
NewLimitOrder Belirtilen bir fiyattan bir limit emri verir.
CancelOrder Belirli bir açık emri tanımlayıcısına göre iptal eder.
CancelAllOrders Tüm açık emirleri bir kerede iptal eder.

Geçmiş ve Fonlar

Metot Açıklama
GetTransactionHistory Hesabın işlem geçmişini alır.
GetFundingHistory Para yatırma ve çekme geçmişini alır.
InternalTransfer Alt hesaplar arasında dahili olarak fon transfer eder.
GetDepositAddress Bir para birimi için bir yatırma adresi oluşturur veya alır.
FundsDepositFromWallet Harici bir cüzdandan alım satım hesabına fon yatırır.
FundsWithdrawalToWallet Alım satım hesabından harici bir cüzdana fon çeker.

Kod Örneği

Aşağıdaki örnek; CEX.IO Plus'a bağlanmayı, hesap durumunu kontrol etmeyi, emir defterine abone olmayı ve bir piyasa emri vermeyi gösterir.

oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'your_api_key';
oCexPlus.CexPlus.ApiSecret := 'your_api_secret';
oClient.Active := True;
// Get account status
oCexPlus.GetAccountStatus;
// Subscribe to order book
oCexPlus.SubscribeOrderBook('BTC-USD');
// Place a market order
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);

Farklı Emir Türleri Verme

CEX.IO Plus birden fazla emir türünü destekler. Mevcut en iyi fiyattan anında yürütme için NewMarketOrder'ı, fiyata özel emirler için NewLimitOrder'ı veya tam parametre kontrolü için NewOrder'ı kullanın.

// Market order: buy BTC with USD at market price
oCexPlus.NewMarketOrder('BTC', 'USD', cxpsBuy);
// Limit order: buy BTC at a specific price
oCexPlus.NewLimitOrder('BTC', 'USD', cxpsBuy, 0.01, 30000);
// Cancel a specific order
oCexPlus.CancelOrder('order-id-here');
// Cancel all open orders
oCexPlus.CancelAllOrders;

Fon Transferleri

Bileşen, alt hesaplar arasında dahili fon transferlerinin yanı sıra para yatırma ve çekme işlemlerini de destekler.

// Get deposit address for BTC
oCexPlus.GetDepositAddress('BTC');
// Retrieve funding history
oCexPlus.GetFundingHistory;
// Transfer funds between sub-accounts
oCexPlus.InternalTransfer('from-account', 'to-account', 'BTC', 0.5);

Yapılandırma ve Notlar

API Kimlik Bilgileri

API anahtarınızı ve secret'ınızı CEX.IO Plus platformundan oluşturun. Bunlar standart CEX.IO kimlik bilgilerinden farklıdır. API anahtarının, gerçekleştirmeyi düşündüğünüz işlemler (örneğin alım satım, para çekme) için uygun izinlere sahip olduğundan emin olun.

Çift Adlandırma Kuralı

CEX.IO Plus, ayrı baz ve teklif para birimi parametreleri kullanan standart CEX.IO API'sinin aksine, BTC-USD gibi tireli bir çift biçimi kullanır. Abonelik metotlarını ve piyasa verisi sorgularını çağırırken her zaman tireli biçimi kullanın.

Emir Yönü Enumerasyonu

Emir metotları, emir yönünü belirtmek için cxpsBuy ve cxpsSell enum değerlerini kullanır. Bunlar CEX.IO Plus bileşenine özeldir ve standart CEX.IO enumerasyonundan farklıdır.

Bağlantı Keepalive

Kimliği doğrulanmış oturumu canlı tutmak için Ping metodunu düzenli aralıklarla kullanın. Bu, sunucunun hareketsizlik nedeniyle bağlantıyı kapatmasını önler.

İpucu: Mevcut işlem çiftlerini ve desteklenen para birimlerini uygulamanıza gömmek yerine dinamik olarak keşfetmek için başlangıçta GetPairsInfo ve GetCurrenciesInfo'yu kullanın.

Hata İşleme

CEX.IO Plus'tan gelen tüm yanıtlar bir durum alanı içerir. Yanıt durumunu ve hata ayrıntılarını kontrol ederek bileşenin mesaj olayında hata yanıtlarını işleyin. Yaygın hatalar arasında yetersiz bakiye, geçersiz çift adları ve kimlik doğrulama hataları bulunur.