Bir sonraki sgcWebSockets sürümü, 2026.5.0, Forex.com / StoneX / CityIndex Trading API için yerel destek ekler: REST sipariş yönetimi ve gerçek zamanlı Lightstreamer akışı, hepsi bir forma bırakabileceğiniz tek bir Delphi bileşeniyle sunulur.
Üç yeni bileşen tüm yüzeyi kapsar: REST işlemleri için TsgcHTTP_API_Forex, yerel Lightstreamer TLCP 2.5 akış kanalı için TsgcWSPClient_Lightstreamer ve bunları birbirine bağlayıp fiyatlar, siparişler, pozisyonlar, kotasyonlar ve hesap teminatı için tipli OnForex* olayları yayımlayan birleşik cephe (facade) olarak TsgcWSAPI_Forex.
Neler Dahil
Canlı Forex.com sunucusunun bugün sunduğu her uç nokta ve akış bağdaştırıcısı kutudan çıkar çıkmaz desteklenir.
|
REST İşlemleri LogOn / LogOff / Ping / GetServiceStatus ve beş sipariş uç noktası: NewTradeOrder, UpdateTradeOrder, NewStopLimitOrder, UpdateStopLimitOrder ve CancelOrder. Her biri üç aşırı yükleme (overload) ile gelir: ham JSON, skaler parametreler veya tam IfDone dirsekleri ve kısmi kapatma desteği olan tipli bir sipariş nesnesi. |
Hesap & Piyasa Verileri GetClientAndTradingAccount, ListOpenPositions, ListActiveStopLimitOrders, GetOrder, ListTradeHistory, ListStopLimitOrderHistory, SimulateTrade, GetMarketInformation, ListCfdMarkets, FullSearchWithTags, GetPriceBars ve GetPriceTicks. |
|
Gerçek Zamanlı Akış STREAMINGALL bağdaştırıcı kümesi altında beş Lightstreamer veri bağdaştırıcısı: PRICES, ORDERS, QUOTES, CLIENTACCOUNTMARGIN ve TRADEMARGIN. Her biri ayrıştırılmış kayıtları tipli bir olaya gönderir: OnForexPriceTick, OnForexOrderUpdate, OnForexPositionUpdate, OnForexAccountMargin, OnForexQuote. |
Birleşik Cephe (Facade) Bileşeni TsgcWSAPI_Forex, REST istemcisini ve dahili Lightstreamer istemcisini tek bir görsel bileşenin arkasında toplar. Connect çağırın: önce REST LogOn çalışır, Session belirteci Lightstreamer el sıkışmasına LS_password olarak iletilir ve akış başlar. Tek bileşen, tek çağrı. |
|
Otomatik Yeniden Bağlanma Alttaki WebSocket istemcisi WatchDog tarafından yönetilir. Her yeniden bağlanma girişiminden önce cephe, REST oturum belirtecini yeniler; TLCP LOOP çerçeveleri, ağ kesintisinden sonra her etkin aboneliği yeniden bağlar ve yeniden oynatır. Oturum sona erdiğinde LogOn şeffaf bir şekilde yeniden çalıştırılır. |
Platform Erişimi Delphi 7'den Delphi 13'e, Professional sürümü ve üzeri. Derleyicinin desteklediği yerlerde Windows, macOS, Linux, iOS ve Android. Yerel sgcWebSockets DLL'i ile desteklenen bir .NET kopyasıyla (net40+, .NET Standard 2.0, .NET 5-9) gelir. |
Kaputun Altında
Bu entegrasyonun akış yarısı en ilginç parçadır. Forex.com, gerçek zamanlı verileri Lightstreamer üzerinden sunar; bu, bir dizi aracı kurum ve finansal veri sağlayıcısı tarafından kullanılan özel bir akış protokolüdür. Şimdiye kadar Delphi için yerel bir TLCP istemcisi yoktu; Lightstreamer destekli platformlarla mevcut entegrasyonların tümü, Lightstreamer JavaScript veya Java SDK'sını tarayıcı gömüleri veya harici işlemler aracılığıyla sarmalıyordu.
TsgcWSPClient_Lightstreamer, Lightstreamer TLCP 2.5 protokolünün sıfırdan yerel bir uygulamasıdır: create_session, bind_session, control (abone ol / abonelikten çık), LOOP otomatik yeniden bağlanma işleyicisi ve yeniden bağlandıktan sonra abonelik yeniden oynatma; hat üzerinde Sec-WebSocket-Protocol: TLCP-2.5.0.lightstreamer.com alt protokol başlığı aracılığıyla bildirilir. Bu, sgcWebSockets'i yerel TLCP desteğine sahip ilk Delphi bileşen kütüphanesi yapar ve istemci kasıtlı olarak geneldir: Forex.com'a kaynaklanmamış, kendi yeniden kullanılabilir bileşeni olarak gelir; böylece aynı kod yolu, Lightstreamer tabanlı herhangi bir aracı kurumu (örneğin IG Markets) veya veri sağlayıcısını yönlendirir.
Öğe adresleme. Her Forex.com bağdaştırıcısı aynı ID.{numericId} öğe biçimini kullanır; sayısal kimlik bir MarketId, ClientAccountId veya TradingAccountId'dir ve SUB çerçevesindeki DataAdapter seçici (PRICES / ORDERS / QUOTES / CLIENTACCOUNTMARGIN / TRADEMARGIN), o kimlik için hangi veri kümesinin akıtılacağına karar verir. Eski PRICE.{id} önekleri yoktur.
Sipariş nesnesi kalıbı. İşlem istekleri, kütüphanenin başka yerlerinde kullanılan aynı Kucoin tarzı tasarımı izler: TsgcHTTPForexTradeOrder, TsgcHTTPForexStopLimitOrder ve TsgcHTTPForexCancelOrder. Siparişi bir kez oluşturun, birkaç alanı değiştirin, tekrar gönderin. Tipli IfDone dirsekleri (ekli stop / limit / garantili stop / iz süren stop), kısmi kapatma anlamı için Close dizileri, PositionMethodId (netleştirme - hedging) ve istemci Reference alanlarının tümü birinci sınıftır.
Kod Örneği
Cepheyi bir forma bırakın, kimlik bilgilerini ayarlayın, fiyat tick olayını bağlayın, Connect ve WatchMarket'i çağırın. Aşağıdaki kod parçası tam ve çalışan bir örnektir.
var
Forex: TsgcWSAPI_Forex;
begin
Forex := TsgcWSAPI_Forex.Create(nil);
Try
Forex.Credentials.UserName := 'YOUR_USER';
Forex.Credentials.Password := 'YOUR_PASSWORD';
Forex.Credentials.AppKey := 'YOUR_APPKEY';
Forex.OnForexPriceTick := OnPriceTick;
Forex.Connect; // REST LogOn + Lightstreamer
Forex.WatchMarket(401484830); // EUR/USD
Forex.WatchAccount; // ORDERS + margin
// ... run app, receive ticks and order updates ...
Finally
Forex.Free;
End;
end;
procedure TForm1.OnPriceTick(Sender: TObject;
const aTick: TsgcForexPriceTick);
begin
Memo1.Lines.Add(Format('%d bid=%.5f offer=%.5f audit=%s',
[aTick.MarketId, aTick.Bid, aTick.Offer, aTick.AuditId]));
end;
Demo
Tam bir VCL demosu Demos\05.Crypto\22.Forex klasöründe bulunur. Üç sekmeye bölünmüştür:
- Login, UserName / Password / AppKey alanları, Connect / Disconnect / Ping, AutoReconnect anahtarı, canlı oturum / hesap kimlikleri ve çalışan bir olay günlüğü. Kimlik bilgileri
sgcForexDemo.inidosyasına kaydedilir; böylece bunları yalnızca bir kez yazarsınız. - REST İşlemleri, piyasa araması (FullSearchWithTags), NewTradeOrder / UpdateTradeOrder / NewStopLimitOrder / UpdateStopLimitOrder / CancelOrder, SimulateTrade, GetOrder, ListOpenPositions, ListActiveStopLimitOrders, ListTradeHistory ve ListStopLimitOrderHistory.
- Streaming, WatchMarket / UnwatchMarket, canlı fiyat ızgarası, STREAMINGALL bağdaştırıcı kümesinden gerçek zamanlı olarak güncellenen pozisyon ve sipariş liste görünümleri ve canlı bir hesap teminatı paneli (Cash / Margin / NetEquity / TradeableFunds / Currency).
Kullanılabilirlik
Bir sonraki sgcWebSockets sürümünde, 2026.5.0, mevcuttur. Mevcut Enterprise ve All-Access lisans sahipleri bunu abonelikleri kapsamında alır; Professional lisansları yenilemeleriyle birlikte alır.
Ücretsiz bir Forex.com demo hesabı (UserName / Password / AppKey dahil) için www.forex.com adresinden kaydolun; tam API referansı docs.labs.gaincapital.com adresindedir.
Bağlantılar
- Bileşen belgeleri: esegece.com/help/sgcwebsockets/
- Demo klasörü:
Demos\05.Crypto\22.Forex - Forex.com kayıt: www.forex.com
- API referansı: docs.labs.gaincapital.com
- Lightstreamer TLCP 2.5 spesifikasyonu: TLCP 2.5 PDF
- sgcWebSockets ürün sayfası: esegece.com
