SharpTrader ist eine Trading-Plattform, die für Trader und nicht für Broker entwickelt wurde, und sie steht allen offen, die Code für Trader schreiben. Schreiben Sie eigene Strategien in C# direkt in der Plattform, binden Sie Ihre externe Software über die EasyFIX API an die Ausführungs-Engine an oder integrieren Sie unsere GPU-beschleunigte Candlestick-Charting-Bibliothek in Ihr eigenes .NET-Terminal.
| C#native Strategiesprache, kompiliert in SharpTrader | 50+FIX-API-Konnektoren zu Brokern plus große Krypto-Börsen | 22Indikatoren in BjfChart, abgeglichen mit Referenzberechnungen | 2Zielplattformen in einer DLL: net48 für ältere Anwendungen, net8.0-windows für neue |
Jede Option löst ein anderes Problem. Wählen Sie die, die dazu passt, wo Ihr Code läuft.
In der Plattform
Coding-Modul: C#-Bot-APISchreiben Sie eine Strategie als C#-Klasse, kompilieren Sie sie in SharpTrader und führen Sie sie mit jedem verbundenen Broker oder jeder Börse aus. Ticks, Positionen, Orders und Indikatoren sind jeweils nur einen Aufruf entfernt. |
Außerhalb der Plattform
EasyFIX APIBehalten Sie Ihre eigene Engine in einer beliebigen Sprache und nutzen Sie SharpTrader als Gateway: Es streamt Ihnen Kurse und leitet Ihre Orders über seine Broker- und Börsenkonnektoren weiter. |
In Ihrem eigenen Terminal
Charting-Bibliothek BjfChartEine einzige DLL, die Ihrer .NET-Anwendung professionelle Candlestick-Charts, Indikatoren, Zeichenwerkzeuge, ein Trading-Panel und ein Orderbuch mit Live-Tick-Feed bietet. |
Das Coding-Modul macht SharpTrader zu einer Entwicklungsumgebung für automatisierte Strategien. Ein Bot ist eine C#-Klasse, die von der Basisklasse Bot der Plattform erbt und auf Ereignisse reagiert: Initialisierung, jeden eingehenden Tick, eröffnete Position, geschlossene Position und Aktualisierungen des Orderstatus. Die Plattform kompiliert ihn, zeigt Ihre Eingabeparameter in der Oberfläche an und führt ihn auf Live- oder Demokonten parallel zu den integrierten Arbitrage-, News- und Impuls-Strategien aus.
| Bereich | Was Sie tun können |
|---|---|
| Marktdaten | Bid, Ask, Spread und Punktwert je Symbol und je Sitzung über das Objekt ticker. Eine Sitzung ist ein verbundenes Broker- oder Börsenkonto, sodass ein einzelner Bot über den Sitzungsindex mehrere Gegenparteien gleichzeitig beobachten und handeln kann. |
| Orders und Positionen | sendOrder für Market-Ausführung, modifyPositionByID für Stop-Loss und Take-Profit, closePositionByID, Abfragen nach ID oder Kommentar sowie Live-Listen offener, geschlossener und ausstehender Orders. |
| Positionsdetails | Jede Position enthält Eröffnungs- und Schlusskurse und -zeiten, Volumen, Richtung, Sitzung, Gewinn, Kommentar, Stop-Loss, Take-Profit sowie die gemessene Slippage und Ausführungszeit für beide Seiten. Gerade Letzteres ermöglicht es einem Bot, sich daran anzupassen, wie ein Broker Sie tatsächlich ausführt. |
| Indikatoren | Integrierte Indikatorfunktionen wie EMA und MACD auf jedem Timeframe, die mit Plattform-Updates laufend erweitert werden. |
| Eingaben und Logging | Öffentliche Eigenschaften, die mit [PropertyInfo] gekennzeichnet sind, erscheinen als bearbeitbare Eingaben in der Oberfläche; writeLog schreibt in das Plattform-Log; stopBot stoppt die Strategie per Code. |
| Kontostatus | Balance und Equity je Sitzung für Risikoregeln und Positionsgrößenbestimmung. |
// 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"); } }
foreach-Schleifen statt Where, Select oder Any. Preise aus der API sind in Broker-Punkten angegeben; multiplizieren Sie sie mit dem Punktwert, bevor Sie sie mit Ihren eigenen Schwellenwerten vergleichen. Und halten Sie pro Tick nur eine Order in Bearbeitung, abgesichert über die zurückgegebene Client-Order-ID – es sei denn, Sie debuggen gern doppelte Ausführungen.Vollständige Referenz zu Klassen, Methoden und Ereignissen: Dokumentation der SharpTrader-Coding-Bibliothek. Das Coding-Modul ist eine Erweiterung für SharpTrader Pro; das aktuelle Paket finden Sie auf der Seite zu SharpTrader Pro.
Nicht alles gehört in die Plattform. Wenn Sie bereits eine Signal-Engine, einen Risikomanager, ein eigenes Frontend oder eine Research-Pipeline betreiben, kann diese über EasyFIX mit SharpTrader per vereinfachtem FIX-Protokoll kommunizieren. SharpTrader wird zu Ihrem Ausführungs-Gateway: Es hält die Verbindungen zu Brokern und Börsen, und Sie senden Orders und empfangen Kurse und Ausführungen aus Ihrem eigenen Code, in der Sprache Ihrer Wahl.
Was EasyFIX überträgt
|
Typische Integrationen
|
EasyFIX ist ein modifizierter FIX-Dialekt: Er behält das Nachrichtenmodell bei, das Entwickler bereits kennen, und verzichtet auf den Overhead, den eine Verbindung zwischen Retail-Anwendung und Gateway nicht braucht. Spezifikation, Beispielsitzungen und eine Testverbindung stehen Nutzern von SharpTrader Pro und Lite auf Anfrage zur Verfügung. Schreiben Sie an support@bjftradinggroup.com mit einer kurzen Beschreibung dessen, was Sie anbinden möchten.
2026 haben wir das Charting in SharpTrader von Grund auf neu entwickelt, und die Engine dahinter steht Entwicklern als eigenständige Bibliothek zur Verfügung. BjfChart ist ein GPU-beschleunigtes Candlestick-Charting-Control für WinForms auf Basis von SkiaSharp. Es rendert Zehntausende Bars mit 60 Bildern pro Sekunde und wird als einzelne BjfChart.dll ausgeliefert, die sowohl net48 als auch net8.0-windows unterstützt – so passt sie in ältere .NET-Framework-Terminals ebenso wie in neue .NET-8-Anwendungen.
Video: SharpTrader Charting – neue Charting-Bibliothek und Rundgang zum manuellen Trading
Acht Timeframes, Indikatoren, Fibonacci- und Trend-Werkzeuge, ein Order-Ticket mit verschiebbaren Stop-Loss- und Take-Profit-Linien sowie Multi-Broker-Charts, live in SharpTrader gezeigt. Auf YouTube öffnen
Chart-Engine
|
Trading-Schicht
|
| Gruppe | Enthalten |
|---|---|
| Overlay-Indikatoren | SMA, EMA, WMA, VWAP, Bollinger-Bänder, Keltner-Kanäle, Donchian-Kanäle, Envelope, Parabolic SAR. |
| Indikatoren im Unterpanel | RSI, MACD mit Histogramm, Stochastik, ATR, CCI, ADX / DMI, Momentum, Rate of Change, Williams %R, Awesome Oscillator, Standardabweichung, On-Balance Volume, Money Flow Index. |
| Genauigkeit | Die Indikatorberechnungen werden mit unabhängigen Referenzimplementierungen abgeglichen: SMA, EMA, Bollinger, RSI, ATR, Stochastik und CCI stimmen auf 1e-9 überein; MACD, ADX, DI, Williams %R, MFI und OBV sind auf Korrektheit und Wertebereich validiert. |
| Zeichenwerkzeuge | Trendlinie, Strahl, verlängerte Linie, horizontale Linie und horizontaler Strahl, vertikale Linie, Pfeil, paralleler Kanal, Rechteck, Ellipse, Fibonacci-Retracement, Fibonacci-Extension und ein Messwerkzeug mit Preisdifferenz, prozentualer Veränderung und Anzahl der Bars. Alle sind im Datenraum verankert und bleiben beim Zoomen und Verschieben fixiert. |
| Erweiterbarkeit | Implementieren Sie IIndicator (oder leiten Sie von IndicatorBase ab), geben Sie eine oder mehrere an der Kerzenliste ausgerichtete Reihen zurück, wählen Sie Overlay oder Unterpanel, Linie, Histogramm oder Punkte, und registrieren Sie den Indikator, damit er im Kontextmenü und in gespeicherten Layouts erscheint. |
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
Alles im Code ist auch über das Kontextmenü des Charts erreichbar: Indikatoren hinzufügen oder entfernen, ein Zeichenwerkzeug wählen, Overlays verwalten, das Theme wechseln, ein Layout speichern oder laden. Zum Kompilieren benötigt die Bibliothek Windows und das .NET SDK 8.0 oder neuer; NuGet stellt SkiaSharp automatisch wieder her. Eine lauffähige Demo-Anwendung mit simulierten Live-Ticks ist enthalten.
Alle Entwicklerfragen gehen an dasselbe Team, das die Plattform entwickelt. Geben Sie bei Fragen zur Bot-API und zu EasyFIX Ihre SharpTrader-Version und Ihren Kontotyp an; bei BjfChart Ihr .NET-Ziel und Ihren Datenfeed.
| E-Mailsupport@bjftradinggroup.comIdeal für Codebeispiele, Spezifikationen und Lizenzierung | Telefon+1 (905) 599-5507Montag bis Freitag, 9:00 bis 18:00 Uhr Eastern Time (Toronto) | Telegramt.me/bjftradinggroupKurze Fragen und Rückfragen |
BJF Trading Group Inc., 3397 Mistwell Crescent, Oakville, ON, L6L 0A2, Kanada. Allgemeine Anfragen: Kontaktseite.
Neue Artikel, Forschungsarbeiten und Produktveröffentlichungen, zugestellt, sobald wir sie veröffentlichen.
Ein Bot für eine bestimmte Eigenheit eines Brokers, eine externe Engine, die ein Ausführungs-Gateway braucht, oder ein Terminal, das bis Freitag Charts benötigt. Eine E-Mail mit den Details, eine Antwort mit dem nächsten Schritt.
BJF Trading Group Inc. entwickelt Software-Tools für erfahrene Trader und Entwickler. Wir sind weder Broker noch Finanzinstitut oder Anlageberater und führen keine Trades aus und verwalten keine Gelder. Die Codebeispiele auf dieser Seite dienen der Veranschaulichung und können von der aktuellen Bibliotheksreferenz abweichen; prüfen Sie stets die Dokumentation für Ihre Plattformversion. Der Handel mit Forex, CFDs und Kryptowährungen birgt ein hohes Verlustrisiko und ist nicht für alle Anleger geeignet. Nichts auf dieser Seite ist eine Finanzberatung oder ein Gewinnversprechen.