BJF Trading Group Inc. — Ontario, Kanada İletişim Üye Alanı Blog Ortaklık
EN DE JA AR KO ES PT ID VI HI FR TR IT CN



Geliştiriciler için · SharpTrader platformu

SharpTrader üzerinde geliştirin: C# bot API’si, EasyFIX bağlantısı ve BjfChart grafik kütüphanesi

SharpTrader, brokerlar için değil trader’lar için geliştirilmiş bir trading platformudur ve onlar için kod yazan kişilere de açıktır. Kendi stratejilerinizi platformun içinde C# ile yazın, harici yazılımınızı EasyFIX API aracılığıyla platformun emir gerçekleştirme motoruna bağlayın ya da GPU hızlandırmalı mum grafik kütüphanemizi kendi .NET terminalinize ekleyin.

Canlı tick verileri ve çoklu broker oturumlarıyla C# stratejileri
EasyFIX API: 50+ FIX bağlayıcısı, kripto borsaları
BjfChart DLL: 22 gösterge, çizim araçları, emir paneli
.NET Framework 4.8 ve .NET 8

Grafik tanıtım videosunu izleyin Geliştirici iletişim bilgileri



C#SharpTrader içinde derlenen yerel strateji dili 50+brokerlara FIX API bağlayıcısı ve büyük kripto borsaları 22BjfChart’ta referans hesaplamalarla doğrulanmış gösterge 2hedef tek DLL’de: eski uygulamalar için net48, yenileri için net8.0-windows



BJF ile geliştirmenin üç yolu

Her seçenek farklı bir sorunu çözer. Kodunuzun bulunduğu yere uygun olanı seçin.

Platformun içinde

Kodlama modülü: C# bot API’si

Bir stratejiyi C# sınıfı olarak yazın, SharpTrader içinde derleyin ve bağlı herhangi bir broker veya borsada çalıştırın. Tick verileri, pozisyonlar, emirler ve göstergeler tek bir çağrı uzaklığında.

Bot API’si hakkında okuyun

Platformun dışında

EasyFIX API

Herhangi bir dilde yazılmış kendi motorunuzu koruyun ve SharpTrader’ı ağ geçidi olarak kullanın: size fiyatları aktarır ve emirlerinizi kendi broker ve borsa bağlayıcıları üzerinden yönlendirir.

EasyFIX hakkında okuyun

Kendi terminalinizde

BjfChart grafik kütüphanesi

.NET uygulamanıza canlı tick akışıyla birlikte profesyonel mum grafikleri, göstergeler, çizim araçları, bir trading paneli ve emir defteri kazandıran tek bir DLL.

Grafik kütüphanesini görün



Kodlama modülü: stratejileri C# ile yazın

Kodlama modülü, SharpTrader’ı otomatik stratejiler için bir geliştirme ortamına dönüştürür. Bot, platformun temel Bot sınıfından türeyen ve olaylara tepki veren bir C# sınıfıdır: başlatma, gelen her tick, açılan pozisyon, kapanan pozisyon ve emir durumu güncellemeleri. Platform botu derler, girdilerinizi arayüzde gösterir ve onu yerleşik arbitraj, haber ve impuls stratejileriyle yan yana canlı veya demo hesaplarda çalıştırır.

API size neler sunar

Alan Neler yapabilirsiniz
Piyasa verileri ticker nesnesi aracılığıyla sembol ve oturum başına bid, ask, spread ve pip değeri. Bir oturum, bağlı tek bir broker veya borsa hesabıdır; böylece tek bir bot, oturum indeksine göre birden fazla karşı tarafı aynı anda izleyebilir ve onlarla işlem yapabilir.
Emirler ve pozisyonlar Piyasa emri gerçekleştirme için sendOrder, stop-loss ve take-profit için modifyPositionByID, closePositionByID, ID’ye veya yoruma göre arama ve açık, kapalı ve bekleyen emirlerin canlı listeleri.
Pozisyon ayrıntıları Her pozisyon; açılış ve kapanış fiyatlarını ve zamanlarını, hacmi, yönü, oturumu, kârı, yorumu, stop-loss’u, take-profit’i ve her iki bacak için ölçülen kayma ile emir gerçekleştirme süresini içerir. Son kısım, botun brokerın emirlerinizi gerçekte nasıl gerçekleştirdiğine uyum sağlamasını mümkün kılar.
Göstergeler Herhangi bir zaman diliminde EMA ve MACD gibi yerleşik gösterge fonksiyonları; platform güncellemeleriyle sürekli genişletilir.
Girdiler ve günlük kaydı [PropertyInfo] ile işaretlenmiş public özellikler arayüzde düzenlenebilir girdiler olarak görünür; writeLog platform günlüğüne yazar; stopBot stratejiyi koddan durdurur.
Hesap durumu Risk kuralları ve pozisyon büyüklüğü belirleme için oturum başına bakiye ve varlık (equity).

Minimal bir strateji iskeleti

// Illustrative skeleton. Names follow the SharpTrader coding library reference.
using SharpTraderBot;

public class SpreadGuardBot : Bot
{
    [PropertyInfo(0.10, "Lot size")]
    public double Lots { get; set; }

    [PropertyInfo(20, "Max spread, points")]
    public int MaxSpreadPoints { get; set; }

    string _inFlight;                            // one order in flight per tick

    public virtual void OnInit() { writeLog("SpreadGuardBot started"); }

    public virtual void OnTick(NewTickEventArgs args)
    {
        int session = 0;                         // session index = broker account
        string symbol = args.tick.symbol;

        double point  = ticker.getPointValue(session, symbol);
        double spread = (ticker.getAsk(session, symbol) - ticker.getBid(session, symbol)) / point;

        if (spread > MaxSpreadPoints || _inFlight != null) return;

        _inFlight = sendOrder(session, symbol, Lots, OrderSide.BUY, OrderType.MARKET, 0, "spread-guard");
    }
}
İlk satırı yazmadan önce bilmeniz gerekenler. Sandbox, sabit bir assembly kümesine karşı derleme yapar: System, System.Collections, System.Runtime, System.Console ve SharpTrader bot kütüphanesi. LINQ bunlar arasında değildir; bu nedenle Where, Select veya Any yerine düz foreach döngüleri yazın. API’den gelen fiyatlar broker puanı cinsindendir; kendi eşik değerlerinizle karşılaştırmadan önce puan değeriyle çarpın. Ve yinelenen gerçekleşmelerle uğraşmaktan hoşlanmıyorsanız, dönen client order ID ile korunan tick başına tek bir aktif emir tutun.

Tam sınıf, metot ve olay referansı: SharpTrader kodlama kütüphanesi dokümantasyonu. Kodlama modülü SharpTrader Pro için bir eklentidir; güncel paket için SharpTrader Pro sayfasına bakın.



EasyFIX API: kendi yazılımınızı SharpTrader’a bağlayın

Her şeyin platformun içinde olması gerekmez. Halihazırda bir sinyal motoru, risk yöneticisi, özel bir ön yüz veya araştırma altyapısı çalıştırıyorsanız, EasyFIX bunların basitleştirilmiş bir FIX protokolü üzerinden SharpTrader ile iletişim kurmasını sağlar. SharpTrader emir gerçekleştirme ağ geçidiniz olur: broker ve borsa bağlantılarını o tutar; siz de tercih ettiğiniz dilde kendi kodunuzdan emir gönderir, fiyatları ve gerçekleşmeleri alırsınız.

EasyFIX neleri taşır

  • Piyasa verileri: abone olduğunuz semboller için SharpTrader’ın açık tuttuğu herhangi bir oturumdan fiyatlar.
  • Emir akışı: seçilen oturuma yönlendirilen yeni emirler, değişiklikler ve kapatmalar.
  • Emir gerçekleştirme raporları: gerçekleşmeler, retler, pozisyon ve emir durumu uygulamanıza geri iletilir.
  • SharpTrader’ın kendi stratejileri için kullandığı aynı 50+ FIX API broker bağlayıcısına ve büyük kripto borsa bağlantılarına erişim.

Tipik entegrasyonlar

  • Python, Java, C++ veya socket ve FIX mesaj oluşturucusu bulunan herhangi bir dilde yazılmış harici bir strateji.
  • Birden fazla SharpTrader örneğini denetleyen şirket genelinde bir risk katmanı.
  • SharpTrader emir gerçekleştirmesi üzerine kurulu özel bir trading arayüzü veya paneli.
  • Araştırma, geriye dönük test ve broker emir gerçekleştirme denetimleri için fiyatların ve gerçekleşmelerin kaydedilmesi.

EasyFIX, değiştirilmiş bir FIX lehçesidir: geliştiricilerin zaten bildiği mesaj modelini korurken, bireysel kullanıcı ile ağ geçidi arasındaki bir bağlantının ihtiyaç duymadığı formaliteleri ortadan kaldırır. Spesifikasyon, örnek oturumlar ve test bağlantısı, talep üzerine SharpTrader Pro ve Lite kullanıcılarına sunulur. Neyi bağlamayı planladığınıza dair kısa bir açıklamayla support@bjftradinggroup.com adresine yazın.



BjfChart: yeni SharpTrader grafiklerinin arkasındaki grafik kütüphanesi

2026’da SharpTrader’daki grafik altyapısını sıfırdan yeniden geliştirdik ve arkasındaki motor, geliştiricilere bağımsız bir kütüphane olarak sunuluyor. BjfChart, SkiaSharp üzerine kurulu, WinForms için GPU hızlandırmalı bir mum grafik kontrolüdür. On binlerce çubuğu saniyede 60 karede işler ve hem net48 hem de net8.0-windows hedefleyen tek bir BjfChart.dll olarak gelir; böylece eski .NET Framework terminallerine de yeni .NET 8 uygulamalarına da kolayca eklenir.

Video: SharpTrader Charting, yeni grafik kütüphanesi ve manuel trading tanıtımı

Sekiz zaman dilimi, göstergeler, Fibonacci ve trend araçları, sürüklenebilir stop-loss ve take-profit çizgilerine sahip emir paneli ve çoklu broker grafikleri, SharpTrader içinde canlı olarak gösteriliyor. YouTube’da açın

Kütüphanede neler var

Grafik motoru

  • Hacim alt paneli, artı imleç, canlı fiyat etiketi ve kayan OHLC göstergesiyle mum grafik çizimi.
  • İmlecin altındaki çubuğu sabit tutan fare tekerleği yakınlaştırması, tıkla-sürükle kaydırma.
  • Gerçek zamanlı akış: PushTick bir tick’i son çubuğa ekler, FeedTick tick’leri otomatik olarak herhangi bir aralıktaki mumlara gruplar.
  • Karşılaştırma için bağımsız veya ortak ölçekli çoklu sembol katmanları.
  • Düzenin JSON olarak kaydedilmesi: göstergeler, çizimler, katmanlar ve görünüm alanı kaydedilir ve geri yüklenir.
  • Çalışma sırasında değiştirilebilen koyu (BJF lacivert ve altın) ve açık temalar; tüm renkler düzenlenebilir.
  • Mumların arkasında logo dosyasından, URL’den veya metinden filigran.

Trading katmanı

  • TradingPanel: canlı pozisyon ve K/Z göstergesine sahip bir emir paneli (piyasa, limit veya stop ile alış ve satış, miktar, fiyat, stop-loss, take-profit).
  • Giriş, stop-loss, take-profit ve bekleyen emir çizgileri grafiğe otomatik olarak çizilir; stop-loss ve take-profit sürüklenebilir ve bırakıldığında olay tetikler.
  • Panel kendisi hiçbir emri gerçekleştirmez. Emir gerçekleştirme katmanınız için olaylar tetikler; bu katman bir FIX API oturumu, bir broker köprüsü veya EasyFIX üzerinden SharpTrader olabilir.
  • OrderBookPanel: seviye başına büyüklük ve orantılı derinlik çubuklarına sahip bir piyasa derinliği merdiveni; limit fiyatını önceden doldurmak için bir seviyeye tıklayın.
  • Broker emirleri için ID’ye göre isteğe bağlı fiyat çizgileri, isteğe bağlı sürükleme desteğiyle.

Göstergeler ve çizim araçları

Grup Dahil olanlar
Grafik üstü göstergeler SMA, EMA, WMA, VWAP, Bollinger Bantları, Keltner Kanalları, Donchian Kanalları, Envelope, Parabolic SAR.
Alt panel göstergeleri RSI, histogramlı MACD, Stochastic, ATR, CCI, ADX / DMI, Momentum, Rate of Change, Williams %R, Awesome Oscillator, Standart Sapma, On-Balance Volume, Money Flow Index.
Doğruluk Gösterge hesaplamaları bağımsız referans uygulamalarla çapraz kontrol edilir: SMA, EMA, Bollinger, RSI, ATR, Stochastic ve CCI 1e-9 hassasiyetle eşleşir; MACD, ADX, DI, Williams %R, MFI ve OBV doğruluk ve değer aralığı açısından doğrulanır.
Çizim araçları Trend çizgisi, ışın, uzatılmış çizgi, yatay çizgi ve ışın, dikey çizgi, ok, paralel kanal, dikdörtgen, elips, Fibonacci düzeltmesi, Fibonacci uzantısı ve fiyat farkını, yüzde değişimi ve çubuk sayısını gösteren ölçüm aracı. Tümü veri alanına sabitlenir; böylece yakınlaştırma ve kaydırma sırasında yerinde kalır.
Genişletilebilirlik IIndicator arayüzünü uygulayın (veya IndicatorBase sınıfından türetin), mum listesine hizalanmış bir veya daha fazla seri döndürün, grafik üstü ya da alt panel, çizgi, histogram veya nokta seçin ve sağ tık menüsünde ve kaydedilen düzenlerde görünmesi için kaydedin.

Çalışan bir grafiğe on satırda ulaşın

using BjfChart;
using BjfChart.Indicators;
using BjfChart.Models;

var chart = new ChartControl { Dock = DockStyle.Fill };
form.Controls.Add(chart);

chart.SetData(myCandles);                          // IEnumerable<Candle>
chart.AddIndicator("ema");
chart.AddIndicator("bb");
chart.AddIndicator("macd");                        // draws in its own sub-panel
chart.AddIndicator(new RsiIndicator(21));          // or by type, with custom parameters

chart.CandleInterval = TimeSpan.FromMinutes(15);   // enables auto-bucketing
chart.FeedTick(DateTime.UtcNow, price, volume);    // rolls a new candle at each boundary

chart.StartDrawing(DrawingKind.FibRetracement);    // next drag draws a fib retracement
chart.SaveLayout(@"C:\layouts\eurusd.json");

// Trading panel wired to your execution layer
var panel = new TradingPanel { Dock = DockStyle.Right, Symbol = "EURUSD" };
panel.AttachChart(chart);                          // draws entry / SL / TP lines on the chart
panel.OrderSubmitted += (s, req) => myExecutionEngine.Send(req);
panel.PositionModified += (s, pos) => broker.Modify(pos);   // after a drag of SL or TP

Koddaki her şeye grafikteki sağ tık menüsünden de erişilebilir: gösterge ekleyin veya kaldırın, çizim aracı seçin, katmanları yönetin, temayı değiştirin, bir düzeni kaydedin veya yükleyin. Kütüphaneyi derlemek için Windows ve .NET SDK 8.0 veya üzeri gerekir; NuGet, SkiaSharp’ı otomatik olarak geri yükler. Simüle edilmiş canlı tick’lere sahip çalıştırılabilir bir demo uygulaması da dahildir.

BjfChart’ı ürününüzde kullanmak. Kütüphane; SharpTrader geliştiricilerine, white-label iş ortaklarına ve üçüncü taraf terminal sağlayıcılarına lisanslanır. Kullanım soruları, lisans koşulları, demo sürümü veya veri akışınızla entegrasyon konusunda yardım için aşağıdaki bilgilerden doğrudan bizimle iletişime geçin. Hangi .NET hedefini kullandığınızı ve veri kaynağınızın nasıl olduğunu belirtin; bir iş günü içinde yanıt verelim.



Geliştirici iletişim bilgileri

Tüm geliştirici soruları, platformu geliştiren aynı ekibe iletilir. Bot API ve EasyFIX soruları için SharpTrader sürümünüzü ve hesap türünüzü; BjfChart için .NET hedefinizi ve veri akışınızı belirtin.

E-postasupport@bjftradinggroup.comKod örnekleri, spesifikasyonlar ve lisanslama için en uygunu Telefon+1 (905) 599-5507Pazartesi–Cuma, 9:00–18:00 Doğu Saati (Toronto) Telegramt.me/bjftradinggroupKısa sorular ve takipler

BJF Trading Group Inc., 3397 Mistwell Crescent, Oakville, ON, L6L 0A2, Canada. Genel sorular: iletişim sayfası.



Sıkça Sorulan Sorular

SharpTrader botları hangi dili kullanır?
C#. Bot, platformun temel Bot sınıfından türeyen ve başlatma, tick’ler, pozisyon değişiklikleri ve emir durumu güncellemeleri için olay işleyicileri uygulayan bir sınıftır. SharpTrader içinde derlenir ve yerleşik stratejilerle birlikte çalışır.
Tek bir bot aynı anda birden fazla broker veya borsada işlem yapabilir mi?
Evet. Her piyasa verisi ve emir çağrısı bir oturum indeksi alır; oturum, bağlı tek bir broker veya borsa hesabıdır. Bir bot bir oturumdan fiyat okuyup başka bir oturuma emir gönderebilir; çoklu broker ve borsalar arası mantık bu şekilde yazılır.
EasyFIX API nedir ve kimler içindir?
EasyFIX, harici yazılımların SharpTrader’a bir emir gerçekleştirme ağ geçidi olarak bağlanmasını sağlayan basitleştirilmiş bir FIX protokolüdür. Kendi motorunu platformun dışında tutan ve SharpTrader’ın broker ve borsa bağlayıcıları üzerinden fiyat almak ve emir göndermek isteyen geliştiriciler içindir. Spesifikasyon ve test bağlantısı talep üzerine sağlanır.
BjfChart, SharpTrader’dan ayrı olarak sunuluyor mu?
Evet. BjfChart, SkiaSharp üzerine kurulu, net48 ve net8.0-windows hedefleyen tek bir DLL’den oluşan bağımsız bir .NET kütüphanesidir. SharpTrader geliştiricilerine, white-label iş ortaklarına ve terminal sağlayıcılarına lisanslanır. Koşullar ve demo sürümü için support@bjftradinggroup.com ile iletişime geçin.
BjfChart trading paneli emirleri gerçekleştirir mi?
Hayır. Panel olaylar tetikler (emir gönderildi, pozisyon kapatma talep edildi, stop-loss veya take-profit sürüklendikten sonra pozisyon değiştirildi) ve ana uygulama bunları bir FIX API oturumu, bir broker köprüsü veya EasyFIX üzerinden SharpTrader gibi kendi emir gerçekleştirme katmanına yönlendirir.
BjfChart’a kendi göstergelerimi ekleyebilir miyim?
Evet. IIndicator arayüzünü uygulayın veya IndicatorBase sınıfından türetin, mum listesine hizalanmış bir veya daha fazla seri döndürün, grafik üstü ya da alt panel çizimini seçin ve göstergenin sağ tık menüsünde görünmesi ve düzenlerde kaydedilmesi için onu kaydedin.
SharpTrader veya BjfChart’ın kaynak kodu satılık mı?
Hayır. BJF Trading Group derlenmiş sürümleri lisanslar ve API erişimi, dokümantasyon ve destek sağlar. Kaynak kodu hiçbir program kapsamında satılmaz veya paylaşılmaz.





Ne geliştirdiğinizi bize anlatın

Belirli bir broker tuhaflığı için bir bot, emir gerçekleştirme ağ geçidine ihtiyaç duyan harici bir motor ya da cumaya kadar grafiklere ihtiyacı olan bir terminal. Ayrıntıları içeren tek bir e-posta, bir sonraki adımı içeren tek bir yanıt.

Geliştirici ekibine e-posta gönderin Bize Telegram’dan yazın

BJF Trading Group Inc., deneyimli trader’lar ve geliştiriciler için yazılım araçları geliştirir. Bir broker, finansal kuruluş veya yatırım danışmanı değiliz; işlem gerçekleştirmeyiz ve fon yönetmeyiz. Bu sayfadaki kod örnekleri açıklama amaçlıdır ve güncel kütüphane referansından farklı olabilir; her zaman platform sürümünüze ait dokümantasyonu kontrol edin. Forex, CFD ve kripto para işlemleri yüksek kayıp riski taşır ve tüm yatırımcılar için uygun değildir. Bu sayfadaki hiçbir şey finansal tavsiye veya kâr vaadi değildir.