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.
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 |
Her seçenek farklı bir sorunu çözer. Kodunuzun bulunduğu yere uygun olanı seçin.
Platformun içinde
Kodlama modülü: C# bot API’siBir 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. |
Platformun dışında
EasyFIX APIHerhangi 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. |
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. |
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.
| 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). |
// 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"); } }
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.
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
|
Tipik entegrasyonlar
|
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.
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
Grafik motoru
|
Trading katmanı
|
| 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. |
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.
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ı.
Yeni makaleler, araştırma raporları ve ürün sürümleri, yayımladığımız anda size ulaşsı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.