WebSocket kanalları iki kategoriye ayrılır: public ve private kanallar.
OKX özelliğinde aşağıdaki özellikleri yapılandırabilirsiniz.
İstemci OKX sunucularına başarıyla bağlandığında, OnOKXConnect olayı tetiklenir. Bağlanmaya çalışırken herhangi bir hata varsa, OnOKXError olayı hata ayrıntılarıyla tetiklenir.
OnOKXConnect olayı tetiklendikten sonra, OKX sunucularından mesaj göndermeye ve almaya başlayabilirsiniz.
oClient := TsgcWebSocketClient.Create(nil);
oOKX := TsgcWSAPI_OKX.Create(nil);
oOKX.Client := oClient;
oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oOKX.OKX.Passphrase := 'secret_passphrase';
oClient.Active := True;
procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string);
begin
DoLog('#OKX Connected');
end;
procedure OnOKXError(Sender: TObject; aCode, aMessage, aRawMessage: string);
begin
DoLog('#error: ' + aMessage);
end;
WebSocket beslemesi, emirler ve işlemler için gerçek zamanlı piyasa verisi güncellemeleri sağlar. WebSocket beslemesinin ticker, trades gibi bazı genel kanalları vardır...
Aşağıdaki Genel kanallara abone olabilirsiniz:
| Yöntem | Açıklama |
| SubscribeInstruments | Tam enstrüman listesi, abonelikten sonra ilk kez gönderilecektir. Sonrasında, enstrümanlar, enstrümanın durumunda herhangi bir değişiklik olursa (FUTURES teslimi, OPTION uygulanması, yeni sözleşmelerin / işlem çiftlerinin listelenmesi, işlem askıya alınması vb. gibi) gönderilecektir. |
| SubscribeTicker | Araçların son işlem fiyatını, alış fiyatını, satış fiyatını ve 24 saatlik işlem hacmini alın. Veriler her 100 ms'de bir iletilir. |
| SubscribeOpenInterest | Açık ilgiyi alın. Veriler her 3 saniyede bir gönderilir. |
| SubscribeCandlestick | Bir enstrümanın mum çubuğu verilerini alın. Gönderim sıklığı, verileri gönderen en hızlı aralık olan 500 ms'dir. |
| SubscribeTrades | Son işlem (trade) verilerini alın. Bir işlem gerçekleştiğinde veriler iletilir. |
| SubscribeEstimatedPrices |
VADELİ İŞLEM sözleşmelerinin ve OPSİYONun tahmini teslim/uygulama fiyatını alın. Yalnızca tahmini teslim/uygulama fiyatı teslim/uygulamadan bir saat önce gönderilecek ve herhangi bir fiyat değişikliği olursa gönderilecektir. |
| SubscribeMarkPrice | Mark price'ı alın. Veriler, mark price değiştiğinde her 200 ms'de bir ve mark price değişmediğinde her 10 saniyede bir gönderilir. |
| SubscribeMarkPriceCandlestick | Mark price'ın mum verilerini alın. Veriler her 500 ms'de bir gönderilir. |
| SubscribePriceLimit | Enstrümanın maksimum alış fiyatını ve minimum satış fiyatını alın. Limitlerde değişiklik olduğunda veri her 5 saniyede bir gönderilir ve limitte değişiklik olmadığında gönderilmez. |
| SubscribeOrderBook |
Emir defteri (order book) verisini alın. 400 derinlik seviyesi için books, 5 derinlik seviyesi için book5, tik-tik 1 derinlik seviyesi için bbo-tbt, tik-tik 50 derinlik seviyesi için books50-l2-tbt ve tik-tik 400 derinlik seviyesi için books-l2-tbt kullanın.
|
| SubscribeOptionSummary | Tüm OPTION sözleşmelerinin ayrıntılı fiyatlandırma bilgilerini alın. Veriler tek seferde gönderilecektir. |
| SubscribeFundingRate | Fonlama oranını alın. Veri 30s ila 90s içinde gönderilir. |
| SubscribeIndexCandlestick | Endeksin mum çubuğu verilerini alın. Veriler her 500 ms'de bir gönderilecektir. |
| SubscribeIndexTicker | Index ticker verilerini alın |
| SubscribeStatus | Sistem bakımının durumunu alın ve sistem bakım durumu değiştiğinde gönderin. İlk abonelik: "En son değişiklik verisini gönder"; her durum değişikliği olduğunda, değiştirilen içeriği gönder |
| SubscribePublicStructureBlockTrades | Bir blok işlem olduğunda veri iletilecektir. |
| SubscribeBlockTickers | Son 24 saatteki en son blok ticaret hacmini alın. Veriler, işlem yürütme olayıyla tetiklendiğinde gönderilir. Ayrıca abonelik ayrıntı düzeyine göre 5 dakikalık aralıklarla da gönderilir. |
| SubscribeAllTrades | Tüm trade verilerini alın. Bir trade olduğunda veri iletilecektir. |
| SubscribeLiquidationOrders | Liquidation siparişlerini alın. Bir liquidation siparişi olduğunda veri iletilecektir. |
| SubscribeADLWarning | ADL uyarı verilerini alın. Otomatik kaldıraç azaltma (auto-deleveraging) riski arttığında veri gönderilir. |
| SubscribeEconomicCalendar | Ekonomik takvim olaylarını alın. Ekonomik olaylarda güncellemeler olduğunda veri iletilecektir. |
| SubscribePublicBlockTrades | Public block trade'leri alın. Bir block trade olduğunda veri gönderilir. |
| SubscribeOptionTrades | Opsiyon işlem verilerini alın. Bir opsiyon işlemi olduğunda veri gönderilir. |
| SubscribeCallAuctionDetails | Açık artırma çağrısı ayrıntılarını alın. Açık artırma çağrısı bilgilerinde güncellemeler olduğunda veriler gönderilir. |
oClient := TsgcWebSocketClient.Create(nil);
oOKX := TsgcWSAPI_OKX.Create(nil);
oOKX.Client := oClient;
oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oOKX.OKX.Passphrase := 'secret_passphrase';
oClient.Active := True;
procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string);
begin
oOKX.SubscribeInstruments(okxitFutures);
end;
Hesap kanalı, emir kanalı ve pozisyon kanalı vb. dahil -- oturum açmayı gerektirir.
Aşağıdaki Özel kanallara abone olabilirsiniz:
| Yöntem | Açıklama |
| SubscribeAccount | Hesap bilgilerini alın. Emir verme, emir iptal etme, işlem yürütme vb. olaylar tarafından tetiklendiğinde veriler iletilecektir. Ayrıca abonelik ayrıntı düzeyine göre düzenli aralıklarla da iletilecektir. |
| SubscribePositions | Pozisyon bilgisini alın. İlk anlık görüntü, abonelik ayrıntı düzeyine göre iletilir. Veri, emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde iletilir ve ayrıca abonelik ayrıntı düzeyine göre düzenli aralıklarla da iletilir. |
| SubscribeBalanceAndPosition | Hesap bakiyesi ve pozisyon bilgisini alın. Veri, gerçekleşmiş emir, fonlama transferi gibi olaylar tarafından tetiklendiğinde iletilir. |
| SubscribeOrders | Emir bilgilerini alın. İlk abone olunduğunda veri gönderilmez. Veri yalnızca emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde gönderilir. |
| SubscribeOrdersAlgo | Algo emirlerini alır (trigger order, oco order, conditional order dahil). Veri ilk abone olunduğunda gönderilmez. Veri yalnızca emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde gönderilir. |
| SubscribeAdvanceAlgo |
Gelişmiş algo emirlerini alın (Iceberg emri, TWAP emri, Trailing emri dahil). İlk abone olunduğunda veri gönderilir. Emir verme/iptal etme gibi olaylar tetiklendiğinde veri gönderilir. |
| SubscribePositionRisk | Bu push kanalı yalnızca bir risk uyarısı olarak kullanılır ve stratejik ticaret için bir risk değerlendirmesi olarak önerilmez. Piyasanın şiddetli hareket etmediği durumda, bu mesaj gönderildiği anda pozisyonun tasfiye edilmiş olma olasılığı olabilir. |
| SubscribeAccountGreeks | Hesap greeks bilgilerini alın. Veri, hesaptaki pozisyonların artması/azalması veya nakit bakiyesi gibi olaylar tetiklendiğinde gönderilir ve ayrıca abonelik ayrıntı düzeyine göre düzenli aralıklarla da gönderilir. |
| SubscribeRfqs | Rfq'ları alın. |
| SubscribeQuotes |
Kotaları alın. |
| SubscribePrivateStructureBlockTrades | Structure Block Trades alın. |
| SubscribeSpotGridAlgoOrders | Spot grid algo emirlerini alın. Veriler ilk abone olunduğunda iletilir. Veriler, emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde iletilir. |
| SubscribeContactGridAlgoOrders | Sözleşme grid algo emirlerini alır. Veri ilk abone olunduğunda gönderilir. Veri, emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde gönderilir. |
| SubscribeGridPositions | Grid pozisyonlarını alır. Veri ilk abone olunduğunda gönderilir. Veri, emir verme/iptal etme gibi olaylar tarafından tetiklendiğinde gönderilir. |
| SubscribeGridSubOrders | Grid alt emirlerini alır. Veri ilk abone olunduğunda gönderilir. Veri, emir verme gibi olaylar tarafından tetiklendiğinde gönderilir. |
| SubscribeFills | Doldurulmuş emir verilerini alın. Veriler bir emir doldurulduğunda gönderilir. |
| SubscribeDepositInfo | Para yatırma bilgilerini alın. Bir para yatırma durumu güncellemesi olduğunda veriler iletilecektir. |
| SubscribeWithdrawalInfo | Çekim (withdrawal) bilgilerini alın. Bir çekim durumu güncellemesi olduğunda veri gönderilir. |
oClient := TsgcWebSocketClient.Create(nil);
oOKX := TsgcWSAPI_OKX.Create(nil);
oOKX.Client := oClient;
oOKX.OKX.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oOKX.OKX.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oOKX.OKX.Passphrase := 'secret_passphrase';
oClient.Active := True;
procedure OnOKXConnect(Sender: TObject; aMessage, aCode, aRawMessage: string);
begin
oOKX.SubscribeOrders(okxitFutures, 'BTC-USD', 'BTC-USD-200329');
end;
WebSocket Trade, Authentication gerektirir.
Yalnızca yeterli paranız varsa bir sipariş verebilirsiniz. İstek parametrelerini içeren bir tabloyu aşağıda bulun:
| Parameter | Type | Gerekli | Açıklama |
|---|---|---|---|
| id | String | Evet | Mesajın benzersiz tanımlayıcısı İstemci tarafından sağlanır. İlgili isteği tanımlamak için yanıt mesajında döndürülür. Büyük/küçük harfe duyarlı alfanümeriklerin, tüm sayıların veya tüm harflerin en fazla 32 karakterlik bir kombinasyonu. |
| > instId | String | Evet | Enstrüman Kimliği, ör. BTC-USD-190927-5000-C |
| > tdMode | String | Evet | İşlem modu Margin modu isolated crossMargin olmayan mod cash |
| > ccy | String | Hayır | Marj para birimi Yalnızca Single-currency margin içindeki cross MARGIN emirleri için geçerlidir. |
| > clOrdId | String | Hayır | İstemci tarafından sağlanan emir ID'si Büyük/küçük harfe duyarlı alfasayısalların, tüm sayıların veya 32 karaktere kadar tüm harflerin bir kombinasyonu. |
| > tag | String | Hayır | Emir etiketi Büyük/küçük harfe duyarlı alfasayısal karakterler, tamamı sayı veya tamamı harf, en fazla 16 karakter olabilir. |
| > tarafı | String | Evet | Emir yönü, buy sell |
| > posSide | String | İsteğe bağlı | Pozisyon yönünet modunda varsayılan net 'tirlong/short modunda gereklidir ve yalnızca long veya short olabilir.Yalnızca FUTURES/SWAP için geçerlidir. |
| > ordType | String | Evet | Emir türümarket: piyasa emrilimit: limit emripost_only: Yalnızca-gönderme (post-only) emrifok: Doldur-veya-iptal et (fill-or-kill) emriioc: Hemen-veya-iptal et (immediate-or-cancel) emrioptimal_limit_ioc :Hemen-veya-iptal et emirli piyasa emri
|
| > sz | String | Evet | Alınacak veya satılacak miktar. |
| > px | String | İsteğe bağlı | Price Yalnızca limit,post_only,fok,ioc emri için geçerlidir. |
| > reduceOnly | Boolean | Hayır | Pozisyonun yalnızca azaltılıp azaltılmayacağı, true false, varsayılan false'tur.Yalnızca MARGIN emirlerine ve net modundaki FUTURES/SWAP emirlerine uygulanabilirYalnızca Single-currency margin ve Multi-currency margin için uygulanabilir |
| > tgtCcy | String | Hayır | Miktar türübase_ccy: Temel para birimi ,quote_ccy: Teklif para birimiYalnızca Piyasa emriyle işlem gören SPOT için uygulanabilirVarsayılan, alış için quote_ccy , satış için base_ccy şeklindedir |
| > banAmend | Boolean | Hayır | Spot emir değiştirmenin yasaklanıp yasaklanmayacağı, true veya false, varsayılan false'tur. banAmend true olduğunda bakiye yeterli değilse emir vermede başarısız olur. Yalnızca SPOT market emri için geçerlidir |
Emir Verme Örneği
Yalnızca yeterli paranız varsa bir emir verebilirsiniz.
// Place Martket Order
TsgcWSAPI_OKX1.PlaceMarketOrder(okxosBuy, 'ETH-BTC', 1);
// Place Limit Order
TsgcWSAPI_OKX1.PlaceLimitOrder(okxosBuy, 'ETH-BTC', 1, 0.25);
Emir İptal Örneği
Tamamlanmamış bir emri iptal eder
TsgcWSAPI_OKX1.CancelOrder('ETH-BTC', '457589362405027840');
Amend Order
Tamamlanmamış bir emri değiştirin.
TsgcWSAPI_OKX1.AmendOrder('ETH-BTC', '457589362405027840', '', 2);
WebSocket Trade API ayrıca aynı anda birden fazla emir verme, iptal etme ve değiştirme için toplu işlemleri de destekler. Bu işlemler Authentication gerektirir.
| Yöntem | Açıklama |
| BatchPlaceOrders | Tek bir istekte birden fazla emir verin. Aynı anda en fazla 20 emir verilebilir. |
| BatchCancelOrders | Tek bir istekte birden fazla emri iptal edin. Bir seferde en fazla 20 emir iptal edilebilir. |
| BatchAmendOrders | Tek bir istekte birden çok tamamlanmamış emri değiştirin. Bir seferde en fazla 20 emir değiştirilebilir. |
| MassCancelOrders | Belirli bir araç türü için bekleyen tüm emirleri toplu olarak iptal edin. |