Bybit API Güncellemesi sgcWebSockets

· Özellikler
Delphi'de Bybit V5 WebSocket ve REST API Entegrasyonu

Bybit; sürekli sözleşmeler, vadeli işlemler, spot alım satım ve opsiyonlar sunan büyük bir kripto para türev ve spot borsasıdır. TsgcWSAPI_Bybit bileşeni, Bybit V5 birleşik API'si ile tam Delphi entegrasyonu sağlar — gerçek zamanlı piyasa verisi ve özel olaylar için WebSocket aboneliklerini, alım satım, pozisyon yönetimi ve hesap sorguları için kapsamlı bir REST arayüzüyle birleştirir. Bu makale, mevcut her metodu kapsar ve size nasıl bağlanacağınızı, abone olacağınızı ve alım satım yapacağınızı gösterir.

İçindekiler

Mimari Genel Bakış

Bybit V5 API'si; spot, linear perpetual, inverse perpetual, inverse futures ve opsiyonları tek bir uç nokta kümesi altında birleştiren birleşik bir arayüzdür. TsgcWSAPI_Bybit bileşeni her iki kanalı da destekler:

Ürün kategorisini, WebSocket uç noktasını belirleyen BybitClient özelliği aracılığıyla seçersiniz: bybSpot, bybLinear, bybInverse veya bybPerpetual.

WebSocket API — Genel Kanallar

Genel kanallar, kimlik doğrulaması olmadan gerçek zamanlı piyasa verisi sağlar. Her abonelik metodunun karşılık gelen bir abonelikten çıkma metodu vardır.

Abone Ol Abonelikten Çık Açıklama
SubscribeOrderBook UnSubscribeOrderBook Gerçek zamanlı emir defteri derinliği anlık görüntüleri ve artımlı güncellemeler.
SubscribeTrade UnSubscribeTrade Borsada gerçekleştikçe canlı alım satım yürütmeleri.
SubscribeTicker UnSubscribeTicker 24 saatlik kayan pencere ticker istatistikleri (fiyat, hacim, değişim).
SubscribeKLine UnSubscribeKLine Belirtilen bir aralık için gerçek zamanlı mum/kline güncellemeleri.
SubscribeLiquidation UnSubscribeLiquidation Borsa genelindeki tasfiye olayları.
SubscribeLT_KLine UnSubscribeLT_KLine Kaldıraçlı token kline/mum güncellemeleri.
SubscribeLT_Ticker UnSubscribeLT_Ticker Kaldıraçlı token ticker verileri.
SubscribeLT_Nav UnSubscribeLT_Nav Kaldıraçlı token net varlık değeri güncellemeleri.

WebSocket API — Özel Kanallar

Özel kanallar, API anahtarı ve secret aracılığıyla kimlik doğrulaması gerektirir. Hesap etkinliğiniz hakkında gerçek zamanlı güncellemeler sunarlar.

Abone Ol Abonelikten Çık Açıklama
SubscribePosition UnSubscribePosition Gerçek zamanlı pozisyon güncellemeleri (büyüklük, giriş fiyatı, PnL, kaldıraç).
SubscribeExecution UnSubscribeExecution Emirleriniz gerçekleştikçe alım satım yürütme onayları.
SubscribeOrder UnSubscribeOrder Emir durumu değişiklikleri (yeni, kısmen gerçekleşmiş, gerçekleşmiş, iptal edilmiş).
SubscribeWallet UnSubscribeWallet Tüm coinlerdeki cüzdan bakiyesi değişiklikleri.
SubscribeGreek UnSubscribeGreek Opsiyon Greekleri güncellemeleri (delta, gamma, theta, vega).
SubscribeDcp UnSubscribeDcp Bağlantı sağlığını izlemek için bağlantı kesilme koruması olayları.

REST API — Piyasa Verisi

Piyasa verisi uç noktaları geneldir ve kimlik doğrulaması gerektirmez. Bunlara oBybit.REST_API aracılığıyla erişin.

Metot Açıklama
GetServerTime Bybit sunucu zaman damgasını döndürür.
GetKLine Bir sembol ve aralık için geçmiş kline/mum verilerini döndürür.
GetMarkPriceKLine Mark fiyatı kline verilerini döndürür (PnL ve tasfiye hesaplamaları için kullanılır).
GetIndexPriceKLine Index fiyatı kline verilerini döndürür.
GetPremiumIndexPriceKLine Sürekli sözleşmeler için premium index fiyatı kline verilerini döndürür.
GetInstrumentsInfo Enstrüman spesifikasyonlarını döndürür (tick boyutu, lot boyutu, kaldıraç limitleri vb.).
GetOrderBook Belirli bir derinlikte güncel emir defteri anlık görüntüsünü döndürür.
GetTickers Bir veya tüm semboller için en son ticker bilgilerini döndürür.
GetFundingRateHistory Sürekli sözleşmeler için geçmiş fonlama oranı kayıtlarını döndürür.
GetPublicRecentTradingHistory Bir sembol için en son genel alım satımları döndürür.
GetOpenInterest Türev sözleşmeler için açık pozisyon verilerini döndürür.
GetHistoricalVolatility Opsiyonlar için geçmiş oynaklığı döndürür.
GetInsurance Sigorta fonu bakiye geçmişini döndürür.
GetRiskLimit Belirli bir sembol için risk limiti katmanlarını döndürür.
GetDeliveryPrice Süresi dolmuş vadeli işlemler ve opsiyonlar için teslimat fiyatını döndürür.
GetLongShortRatio Belirli bir sembol ve dönem için long/short oranını döndürür.

REST API — Alım Satım

Alım satım uç noktaları, uygun izinlere sahip API anahtarı kimlik doğrulaması gerektirir. Bu metotlar emir vermenize, değiştirmenize ve iptal etmenize olanak tanır.

Metot Açıklama
PlaceOrder Tam parametre kontrolüyle yeni bir emir verir (tür, yön, fiyat, miktar, time-in-force vb.).
PlaceMarketOrder Bir piyasa emri veren kolaylık metodu (mevcut en iyi fiyattan hemen yürütülür).
PlaceLimitOrder Belirtilen bir fiyattan bir limit emri veren kolaylık metodu.
AmendOrder Mevcut bir açık emri değiştirir (fiyat, miktar veya diğer parametreler).
CancelOrder Belirli bir açık emri emir kimliğine göre iptal eder.
GetOpenOrders Şu anda açık olan (gerçekleşmemiş) tüm emirleri döndürür.
CancelAllOrders İsteğe bağlı olarak sembol veya kategoriye göre filtrelenmiş tüm açık emirleri iptal eder.
GetOrderHistory Bir zaman aralığındaki geçmiş emirleri (gerçekleşmiş, iptal edilmiş, reddedilmiş) döndürür.

REST API — Pozisyon Yönetimi

Pozisyon uç noktaları; kaldıraç, margin modu, risk limitleri ve stop-loss/take-profit ayarları dahil olmak üzere türev pozisyonlarınızı sorgulamanıza ve yapılandırmanıza olanak tanır.

Metot Açıklama
GetPositionInfo Güncel pozisyon ayrıntılarını döndürür (büyüklük, giriş fiyatı, gerçekleşmemiş PnL, margin).
SetLeverage Belirli bir sembol için kaldıracı ayarlar.
SwitchCrossIsolatedMargin Cross margin ve isolated margin modu arasında geçiş yapar.
SetTPSLMode Take-profit/stop-loss modunu yapılandırır (tam pozisyon veya kısmi).
SwitchPositionMode Tek yönlü mod ve hedge modu arasında geçiş yapar.
SetRiskLimit Bir sembol için maksimum kaldıracı etkileyen risk limiti katmanını ayarlar.
SetTradingStop Mevcut bir pozisyonda trailing stop, take-profit veya stop-loss ayarlar.
SetAutoAddMargin Isolated margin pozisyonları için otomatik margin eklemeyi etkinleştirir veya devre dışı bırakır.
AddOrReduceMargin Bir isolated margin pozisyonundan manuel olarak margin ekler veya kaldırır.
GetExecution Alım satımlarınız için yürütme/gerçekleşme kayıtlarını döndürür.
GetClosedPNL Kapanmış kâr ve zarar kayıtlarını döndürür.
ConfirmNewRiskLimit Ek margin gerektiğinde bir risk limiti değişikliğini onaylar.

REST API — Hesap

Hesap uç noktaları; cüzdan bakiyelerini, hesap yapılandırmasını ve işlem günlüklerini sağlar.

Metot Açıklama
GetWalletBalance Tüm coinlerde veya belirli bir hesap türü için cüzdan bakiyelerini döndürür.
GetAccountInfo Birleşik hesap bilgilerini döndürür (margin modu, hesap durumu vb.).
GetTransactionLog İşlem geçmişini döndürür (para yatırmalar, çekmeler, alım satımlar, fonlama ücretleri vb.).

Başlarken — Kod Örneği

Aşağıdaki örnek eksiksiz bir kurulumu gösterir: Bybit linear perpetual uç noktasına bağlanma, REST aracılığıyla ticker verilerini sorgulama, bir limit emri verme, cüzdan bakiyesini kontrol etme ve WebSocket aracılığıyla gerçek zamanlı alım satım güncellemelerine abone olma.

var
  oClient: TsgcWebSocketClient;
  oBybit: TsgcWSAPI_Bybit;
begin
  // Create the WebSocket client
  oClient := TsgcWebSocketClient.Create(nil);
  // Create the Bybit API component
  oBybit := TsgcWSAPI_Bybit.Create(nil);
  oBybit.Client := oClient;
  // Configure API credentials
  oBybit.Bybit.ApiKey := 'your_api_key';
  oBybit.Bybit.ApiSecret := 'your_api_secret';
  // Select the product category
  oBybit.BybitClient := bybLinear;
  // Connect to the WebSocket
  oClient.Active := True;
  // REST: Get ticker information for BTCUSDT
  ShowMessage(oBybit.REST_API.GetTickers('BTCUSDT'));
  // REST: Place a limit buy order
  ShowMessage(oBybit.REST_API.PlaceLimitOrder(bbsBuy, 'BTCUSDT', 0.001, 30000));
  // REST: Get wallet balance
  ShowMessage(oBybit.REST_API.GetWalletBalance);
  // WebSocket: Subscribe to real-time trades for BTCUSDT
  oBybit.SubscribeTrade('BTCUSDT');
end;

REST ve WebSocket Karşılaştırması

Emir verme, bakiye sorgulama ve geçmiş verileri getirme gibi talep üzerine işlemler için REST API'sini kullanın. Sürekli, düşük gecikmeli veri akışları için WebSocket aboneliklerini kullanın. İkisi aynı anda kullanılabilir — REST çağrıları WebSocket bağlantı durumundan bağımsızdır.

Yapılandırma Referansı

Özellik Tür Açıklama
Bybit.ApiKey String Kimlik doğrulamalı istekler için Bybit API anahtarınız.
Bybit.ApiSecret String İstek imzalama için Bybit API secret'ınız.
Bybit.TestNet Boolean Bybit testnet ortamına bağlanmak için True; mainnet için False olarak ayarlayın.
Bybit.SignatureExpires Integer HMAC imzası için saniye cinsinden sona erme süresi (varsayılan genellikle yeterlidir).
BybitClient Enum Ürün kategorisi: bybSpot, bybLinear, bybInverse veya bybPerpetual.

İpuçları ve Notlar

Önce Testnet

Geliştirmeye her zaman Bybit.TestNet := True ile başlayın. Bybit testnet, test fonlarıyla tam bir simülasyon ortamı sağlar. testnet.bybit.com adresinde ayrı bir testnet API anahtarı oluşturabilirsiniz.

Birleşik V5 API'si

V5 API'si tüm ürün türlerini tek bir uç nokta kümesi altında birleştirir. BybitClient özelliği hangi WebSocket akışına bağlanacağınızı belirlerken, REST API isteklerinize göre otomatik olarak doğru kategoriye yönlendirir.

Emir Kolaylık Metotları

PlaceOrder her parametre üzerinde tam kontrol sağlarken, PlaceMarketOrder ve PlaceLimitOrder kolaylık metotları en yaygın senaryoları daha az parametreyle kapsar. reduce-only, time-in-force veya koşullu tetikleyiciler gibi gelişmiş seçeneklere ihtiyacınız olduğunda tam metodu kullanın.

Rate Limitleri

Bybit hem REST hem de WebSocket uç noktalarında rate limitleri uygular. REST limitleri tipik olarak uç nokta başınadır (örneğin, emir verme için saniyede 10 istek). WebSocket aboneliklerinin eşzamanlı konu sayısında bir limiti vardır. Sınırlar içinde kalmak için yanıt başlıklarını ve hata kodlarını izleyin.

Not: Bybit WebSocket bağlantıları periyodik ping çerçeveleri gönderir. TsgcWSAPI_Bybit bileşeni bunları otomatik olarak işler ve ek kod olmadan bağlantınızı canlı tutar.