API XTB

XTB

 

Desteklenen API'ler

 

Özellikler

WebSocket protokolü 2 tür isteğe izin verir: Streaming komutları (canlı güncellemeler alın) ve Trading Verilerini Alma (bazı bilgileri almak için sunucuya bir istek gönderin).

 

XTB özelliğinde aşağıdaki özellikleri yapılandırabilirsiniz.

 

Connection

İstemci XTB sunucularına başarıyla bağlandığında, OnXTBConnect olayı tetiklenir. Bağlanmaya çalışırken herhangi bir hata olursa, OnXTBError olayı hata ayrıntılarıyla birlikte tetiklenir.

OnXTBConnect olayı tetiklendikten sonra, XTB sunucularından mesaj göndermeye ve almaya başlayabilirsiniz.

 


oClient := TsgcWebSocketClient.Create(nil);
oXTB := TsgcWSAPI_XTB.Create(nil);
oXTB.Client := oClient;
oXTB.XTB.User := 'user_0001';
oXTB.XTB.Password := 'secret_0001';
oClient.Active := True;
procedure OnXTBConnect(Sender: TObject; const aStreamSessionId: string);
begin
  DoLog('#XTB Connected');
end;
procedure OnXTBError(Sender: TObject; aCode, aDescription, aRawMessage: string);
begin
  DoLog('#error: ' + aDescription);
end;

 

Bağlantı Komutları

 

Yöntem Açıklama
Login Herhangi bir eylem gerçekleştirmek için istemci uygulamanın oturum açma işlemini gerçekleştirmesi gerekir. Düzgün oturum açma işleminden önce hiçbir işlev kullanılamaz. Oturum açma yöntemi, istemci websocket sunucusuna bağlandıktan ve User/Password değerleri ayarlandıktan sonra otomatik olarak çağrılır.
Logout  

 

 

Akış Komutları

Aşağıdaki kanallara abone olabilirsiniz:

 

Yöntem Açıklama
SubscribeBalance Gerçek hesap göstergelerinin değerlerini, sistemde kullanılabilir hale gelir gelmez gerçek zamanlı olarak almayı sağlar.
SubscribeCandles API grafik mumlarına abone olur ve abonelikten çıkar. Her mumun aralığı 1 dakikadır. Her dakika yeni bir mum gelir.
SubscribeKeepAlive 'keep alive' mesajlarına abone olur ve aboneliği kaldırır. API tarafından her 3 saniyede bir yeni bir 'keep alive' mesajı gönderilir.
SubscribeNews Haberlere abone olur ve aboneliği iptal eder.
SubscribeProfits Kâr aboneliklerini başlatır ve sonlandırır.
SubscribeTickPrices

Kotasyonlar için abonelik kurar ve sistemde mevcut olur olmaz ilgili bilgileri gerçek zamanlı olarak almanıza olanak tanır. getTickPrices komutu aynı sembol için birçok kez çağrılabilir, ancak belirli bir sembol için yalnızca bir abonelik oluşturulur. Lütfen birden çok kayıt mevcut olduğunda, bunların alınma sırasının garanti edilmediğini unutmayın.

SubscribeTrades Kullanıcı işlem durumu verileri için abonelik kurar ve sistemde mevcut olur olmaz ilgili bilgileri gerçek zamanlı olarak almanıza olanak tanır. Birden fazla kayıt mevcut olduğunda, alındıkları sıranın garanti edilmediğini lütfen unutmayın.
SubscribeTradeStatus Gönderilen işlem istekleri için durumu sistemde mevcut olur olmaz gerçek zamanlı olarak almanıza olanak tanır. Birden çok kayıt mevcut olduğunda, alındıkları sıranın garanti edilmediğine dikkat edin
SubscribePing Bu fonksiyonu düzenli olarak çağırmak, sistemdeki tüm bileşenlerin dahili durumunu yenilemek için yeterlidir. Akış bağlantısı, oturumda istemci tarafından herhangi bir komut gönderilmediğinde yalnızca tek yönlü ağ trafiği oluşturur. Başka komutlar yürütmeyen herhangi bir uygulamanın bu komutu en az her 10 dakikada bir çağırması önerilir.

 

 

İşlem Verilerini Alma

Aşağıdaki İstekleri gönderebilirsiniz:

 

Yöntem Açıklama
GetAllSymbols Kullanıcı için kullanılabilir tüm sembollerin dizisini döndürür.
GetCalendar Market etkinlikleriyle takvimi döndürür.
GetChartLastRequest Bu fonksiyonun genellikle, geçerli mum verilerini almanın tercih edilen yolu olan akış eşdeğeri getCandles ile değiştirilebileceğini lütfen unutmayın. Başlangıç tarihinden geçerli zamana kadar grafik bilgilerini döndürür. CHART_LAST_INFO_RECORD seçilen periyodu 1 dakikadan büyükse, API tarafından döndürülen son mum, periyodun sonuna kadar değişebilir (mum her dakika otomatik olarak güncellenir).
GetChartRangeRequest Bu işlevin genellikle mevcut candle verilerini almanın tercih edilen yolu olan streaming eşdeğeri getCandles ile değiştirilebileceğini lütfen unutmayın. Verilen başlangıç ve bitiş tarihleri arasında veri içeren grafik bilgisini döndürür.
GetCommissionDef Komisyon ve döviz kuru hesaplamasını döndürür. Değer beklenen değer olarak hesaplanır ve bu nedenle tam olarak doğru olmayabilir.
GetCurrentUserData

Hesap para birimi ve hesap kaldıracı hakkında bilgi döndürür.

GetIbsHistory

Verilen zaman aralığından IB verilerini döndürür.
GetMarginLevel Lütfen bu işlevin genellikle, hesap göstergelerini almanın tercih edilen yolu olan akış (streaming) eşdeğeri getBalance ile değiştirilebileceğini unutmayın. Çeşitli hesap göstergelerini döndürür
GetMarginTrade Verilen enstrüman ve hacim için beklenen marjı döndürür. Değer, beklenen marj değeri olarak hesaplanır ve bu nedenle mükemmel derecede doğru olmayabilir.
GetNews Bu fonksiyonun genellikle, haber verisi almanın tercih edilen yolu olan akış eşdeğeri getNews ile değiştirilebileceğini lütfen unutmayın. Belirtilen süre içinde gönderilen haberleri trading sunucusundan döndürür.
GetProfitCalculation Verilen işlem verileri için tahmini kârı hesaplar. Yalnızca hesap makinesi benzeri uygulamalar için kullanılmalıdır. Açık işlemler için kâr, sunucu hesaplamasının daha yüksek hassasiyeti nedeniyle sunucudan alınmalıdır
GetServerTime İşlem sunucusundaki geçerli saati döndürür
GetStepRules DMA'lar için adım kuralları listesini döndürür
GetSymbol Kullanıcı için kullanılabilir sembol hakkında bilgi döndürür
GetTickPrices Bu işlevin genellikle, tik verilerini almanın tercih edilen yolu olan akış eşdeğeri getTickPrices ile değiştirilebileceğini lütfen unutmayın. Verilen semboller için geçerli kotasyonlar dizisini döndürür, yalnızca verilen zaman damgasından değişen kotasyonlar döndürülür. Çıktıdan elde edilen yeni zaman damgası, bu komutun bir sonraki çağrısının argümanı olarak kullanılır.
GetTradeRecords orders argümanında listelenen işlemlerin dizisini döndürür
GetTrades Bu fonksiyonun, işlem verilerini almanın tercih edilen yolu olan akış eşdeğeri getTrades ile genellikle değiştirilebileceğini lütfen unutmayın. Kullanıcının işlemlerinin dizisini döndürür.
GetTradesHistory Lütfen bu işlevin genellikle, işlem verilerini almanın tercih edilen yolu olan akış eşdeğeri getTrades ile değiştirilebileceğini unutmayın. Belirtilen zaman dilimi içinde kapatılan kullanıcının işlemlerinin dizisini döndürür.
GetTradingHours Kotasyonları ve işlem saatlerini döndürür.
GetVersion Geçerli API sürümünü döndürür.
Ping Bu işlevi düzenli olarak çağırmak, sistemdeki tüm bileşenlerin iç durumunu yenilemek için yeterlidir. Başka komut yürütmeyen herhangi bir uygulamanın bu komutu en az 10 dakikada bir çağırması önerilir. Bu işlevin akış karşılığının ping ve getKeepAlive kombinasyonu olduğunu unutmayın
TradeTransaction Ticaret işlemini başlatır. tradeTransaction, ana işlem bilgilerini sunucuya gönderir.
TradeTransactionStatus Bu işlevin genellikle, işlem durumu verilerini almanın tercih edilen yolu olan akış eşdeğeri getTradeStatus ile değiştirilebileceğini lütfen unutmayın. Geçerli işlem durumunu döndürür. İşlem işleme sırasında herhangi bir anda istemci, sunucu tarafındaki işlemin durumunu kontrol edebilir. Bunu yapmak için istemci, tradeTransaction çağrısından alınan benzersiz emri sağlamalıdır.