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ış
- WebSocket API — Genel Kanallar
- WebSocket API — Özel Kanallar
- REST API — Piyasa Verisi
- REST API — Alım Satım
- REST API — Pozisyon Yönetimi
- REST API — Hesap
- Başlarken — Kod Örneği
- Yapılandırma Referansı
- İpuçları ve Notlar
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:
- WebSocket — Gerçek zamanlı genel piyasa verisi (emir defterleri, alım satımlar, tickerlar, kline'lar, tasfiyeler) ve özel hesap olayları (pozisyonlar, yürütmeler, emirler, cüzdan güncellemeleri).
- REST — Piyasa verisi alımını, emir verme ve yönetimini, pozisyon yapılandırmasını ve hesap bilgilerini kapsayan,
oBybit.REST_APIaracılığıyla talep üzerine sorgular ve eylemler.
Ü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.
