Einrichten der Umgebung
Anforderungen
Für die Arbeit mit StockSharp benötigen Sie:
- .NET 10 (SDK und Runtime) - Herunterladen
- IDE - Visual Studio 2022+, JetBrains Rider oder VS Code
- NuGet - Paketmanager (in Visual Studio und Rider integriert)
Prüfen Sie, ob das SDK installiert ist:
dotnet --version
Projekt erstellen
Visual Studio 2022+
- Datei -> Neu -> Projekt
- Vorlage Konsolen-App oder WPF-Anwendung auswählen
- Zielframework auf .NET 10 setzen
JetBrains Rider
- Datei -> Neue Lösung
- .NET / .NET Core -> Konsolenanwendung auswählen
- Zielframework: net10.0 festlegen
Befehlszeile (CLI)
# Konsolenanwendung
dotnet new console -n MyTradingApp --framework net10.0
cd MyTradingApp
# WPF-Anwendung (nur Windows)
dotnet new wpf -n MyTradingGui --framework net10.0-windows
NuGet-Paketkatalog
StockSharp wird über NuGet verteilt. Unten finden Sie den vollständigen Paketkatalog nach Kategorien geordnet.
Core
| Paket | Beschreibung |
|---|---|
| StockSharp.Messages | Basisnachrichten und Verträge. Fundament des gesamten Frameworks |
| StockSharp.BusinessEntities | Handelsentitäten: Security, Order, Trade, Portfolio usw. |
| StockSharp.Algo | Algorithmischer Handel im Kern, Connector, Abonnements, Candles |
| StockSharp.Configuration | Konfigurationsverwaltung, Verbindungseinstellungen |
| StockSharp.Localization | Lokalisierungssystem (standardmäßig Englisch) |
Strategien und Indikatoren
| Paket | Beschreibung |
|---|---|
| StockSharp.Algo.Strategies | Strategie-Framework - Basisklasse Strategy, Positionen, PnL |
| StockSharp.Algo.Indicators | 100+ technische Indikatoren (SMA, EMA, RSI, MACD, Bollinger usw.) |
Testing
| Paket | Beschreibung |
|---|---|
| StockSharp.Algo.Testing | Backtesting auf historischen Daten, Trade-Emulation |
Speicherung und Daten
| Paket | Beschreibung |
|---|---|
| StockSharp.Algo.Export | Marktdatenexport (CSV, Excel, JSON usw.) |
| StockSharp.Algo.Import | Datenimport aus externen Formaten |
Analytics und Berechnung
| Paket | Beschreibung |
|---|---|
| StockSharp.Algo.Analytics | Interfaces für Analytics-Skripte |
| StockSharp.Algo.Compilation | Codekompilierung zur Laufzeit |
| StockSharp.Algo.Gpu | GPU-beschleunigte Indikatorberechnungen (CUDA über ILGPU) |
GUI-Komponenten (nur Windows)
| Paket | Beschreibung |
|---|---|
| StockSharp.Xaml | WPF-Steuerelemente: Instrument-, Portfolio- und Ordertabellen |
| StockSharp.Xaml.Charting | Candlestick-Charts, Indikatoren, Equity-Kurven |
| StockSharp.Charting.Interfaces | Interfaces der Chart-Komponenten |
| StockSharp.Alerts.Interfaces | Interfaces des Alert-Systems |
| StockSharp.Diagram.Core | Kern des visuellen Strategiedesigners |
Connectors (Börsen und Broker)
Jeder Connector ist ein separates NuGet-Paket. Wichtige Connectors:
| Paket | Börse/Broker |
|---|---|
StockSharp.Binance |
Binance |
StockSharp.InteractiveBrokers |
Interactive Brokers |
StockSharp.Fix |
FIX-Protokoll (universell) |
StockSharp.Connectors.Coinbase |
Coinbase |
StockSharp.Connectors.BitStamp |
Bitstamp |
StockSharp.Connectors.Bittrex |
Bittrex |
Note
Die vollständige Liste der Connectors finden Sie im Abschnitt Konnektoren. Einige Connectors sind nur über den privaten NuGet-Server verfügbar.
Lokalisierung
Das Basispaket StockSharp.Localization enthält Englisch. Zusätzliche Sprachen werden als separate Pakete installiert:
| Paket | Sprache |
|---|---|
StockSharp.Localization.ru |
Russisch |
StockSharp.Localization.zh |
Chinesisch |
StockSharp.Localization.de |
Deutsch |
StockSharp.Localization.es |
Spanisch |
StockSharp.Localization.ja |
Japanisch |
StockSharp.Localization.ko |
Koreanisch |
StockSharp.Localization.All |
Alle Sprachen (Metapaket) |
Ebenfalls verfügbar: ar, bn, ca, cs, da, el, fa, fi, fr, he, hi, hu, it, jv, ms, my, nl, no, pa, pl, pt, ro, sk, sr, sv, ta, th, tl, tr, uk, uz, vi.
Pakete installieren
Über CLI (empfohlen)
# Core-Pakete
dotnet add package StockSharp.Algo
dotnet add package StockSharp.Algo.Strategies
# Connector (Beispiel - Binance)
dotnet add package StockSharp.Binance
# Indikatoren
dotnet add package StockSharp.Algo.Indicators
# Rücktests
dotnet add package StockSharp.Algo.Testing
# Lokalisierung (Russisch)
dotnet add package StockSharp.Localization.ru
Über Visual Studio
- Rechtsklick auf das Projekt -> NuGet-Pakete verwalten...
- Nach
StockSharpsuchen - Gewünschtes Paket auswählen -> Installieren
Alle Abhängigkeiten werden automatisch installiert.
Über JetBrains Rider
- Rechtsklick auf das Projekt -> NuGet-Pakete verwalten
- Nach
StockSharpsuchen - Paket auswählen -> Installieren
Über Paket-Manager-Konsole (Visual Studio)
Install-Package StockSharp.Algo
Install-Package StockSharp.Binance
Install-Package StockSharp.Algo.Strategies
Privater NuGet-Server
Einige Komponenten (Krypto-Connectors usw.) sind nur über den privaten NuGet-Server für registrierte Benutzer verfügbar.
Methode 1: Authentifizierung per Token in der URL
- Registrieren Sie sich auf der StockSharp-Website.
- Kopieren Sie das Token aus Ihrem persönlichen Konto.
- Fügen Sie die Paketquelle hinzu:
CLI:
dotnet nuget add source "https://nuget.stocksharp.com/{YOUR_TOKEN}/v3/index.json" --name StockSharpPrivate
Visual Studio: Öffnen Sie Extras -> Optionen -> NuGet-Paket-Manager -> Paketquellen und fügen Sie eine neue Quelle mit der URL https://nuget.stocksharp.com/{YOUR_TOKEN}/v3/index.json hinzu.
Rider: Öffnen Sie Einstellungen -> Build, Ausführung, Bereitstellung -> NuGet -> Quellen und fügen Sie die Quelle hinzu.
Methode 2: Authentifizierung per Benutzername und Passwort
- Fügen Sie eine Paketquelle mit der URL
https://nuget.stocksharp.com/x/v3/index.jsonhinzu. - Beim Versuch, diese Quelle zu verwenden, erscheint eine Anmeldeaufforderung.
- Geben Sie die Zugangsdaten Ihres StockSharp-Kontos ein (oder
xals Benutzernamen und Ihr Token als Passwort).
CLI:
dotnet nuget add source "https://nuget.stocksharp.com/x/v3/index.json" --name StockSharpPrivate --username YOUR_LOGIN --password YOUR_PASSWORD --store-password-in-clear-text
Tip
Um gespeicherte Anmeldedaten unter Windows zurückzusetzen, öffnen Sie Systemsteuerung -> Benutzerkonten -> Anmeldeinformationsverwaltung und löschen Sie Einträge zu nuget.stocksharp.com.
Pakete aktualisieren
CLI
# Auf verfügbare Updates prüfen
dotnet list package --outdated
# Bestimmtes Paket aktualisieren
dotnet add package StockSharp.Algo
Visual Studio
- NuGet-Pakete verwalten... -> Registerkarte Aktualisierungen
- Pakete auswählen -> Aktualisieren
Rider
- NuGet-Pakete verwalten -> Registerkarte Aktualisierungen
- Pakete auswählen -> Aktualisieren
Problembehandlung
Versionskonflikt
Alle StockSharp-Pakete müssen dieselbe Version haben. Wenn Typ- oder Methodenfehler auftreten, stellen Sie sicher, dass alle StockSharp.*-Pakete auf dieselbe Version aktualisiert sind.
Paket auf öffentlichem NuGet nicht gefunden
Einige Connectors sind nur über den privaten Server verfügbar. Stellen Sie sicher, dass die richtige Quelle hinzugefügt wurde.
GUI-Probleme außerhalb von Windows
GUI-Komponenten (StockSharp.Xaml, StockSharp.Xaml.Charting) funktionieren nur unter Windows. Unter Linux/macOS verwenden Sie Konsolenanwendungen ohne GUI-Pakete.
Fehler bei der Paketwiederherstellung
# NuGet-Cache leeren
dotnet nuget locals all --clear
# Restore erneut versuchen
dotnet restore
Projektdateistruktur (.csproj)
Minimal (Konsolen-Trading-Bot)
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="StockSharp.Algo" Version="*" />
<PackageReference Include="StockSharp.Binance" Version="*" />
</ItemGroup>
</Project>
Erweitert (Strategie mit Indikatoren und Testing)
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<!-- Kern -->
<PackageReference Include="StockSharp.Algo" Version="*" />
<PackageReference Include="StockSharp.Configuration" Version="*" />
<!-- Strategien und Indikatoren -->
<PackageReference Include="StockSharp.Algo.Strategies" Version="*" />
<PackageReference Include="StockSharp.Algo.Indicators" Version="*" />
<!-- Konnektor -->
<PackageReference Include="StockSharp.Binance" Version="*" />
<!-- Rücktests -->
<PackageReference Include="StockSharp.Algo.Testing" Version="*" />
<!-- Lokalisierung -->
<PackageReference Include="StockSharp.Localization.ru" Version="*" />
</ItemGroup>
</Project>
WPF-Anwendung mit Charts
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="StockSharp.Algo" Version="*" />
<PackageReference Include="StockSharp.Algo.Strategies" Version="*" />
<PackageReference Include="StockSharp.Xaml.Charting" Version="*" />
<PackageReference Include="StockSharp.Binance" Version="*" />
</ItemGroup>
</Project>
Installation überprüfen
Erstellen Sie eine minimale Anwendung:
using StockSharp.Algo;
using StockSharp.BusinessEntities;
Console.WriteLine("StockSharp erfolgreich konfiguriert!");
var connector = new Connector();
Console.WriteLine($"Connector erstellt: {connector}");
dotnet run
Beispiele
Fertige Beispiele für die Verwendung von StockSharp sind im Verzeichnis Samples/ des Repositorys verfügbar. Sie decken die Verbindung zu Börsen, das Abonnieren von Daten, den Aufbau von Candles, Indikatoren, Strategien und Tests ab.