Zum Inhalt

Migration von .NET Framework

Migration zu .NET 6.0

cTrader Windows migrierte in Version 4.2 von .NET Framework zu .NET 6.0. Dies führte zu einer Reihe bedeutender Änderungen an der Benutzeroberfläche und der Art und Weise, wie cBots und Indikatoren kompiliert und erstellt werden.

Wichtige Änderungen

Vor der Migration verwendete cTrader .NET Framework 4.0 (und C# Version 4). Alle Algos liefen innerhalb des Hauptprozesses von cTrader Windows.

Nach der Migration verwendet cTrader nun separate untergeordnete Prozesse für Indikatoren und cBots. Es verwendet auch ein dediziertes NuGet-Paket zum Erstellen von .algo-Dateien.

Dennoch sind neue Versionen von cTrader abwärtskompatibel mit Code, der vor der Migration geschrieben wurde. Abgesehen von einigen Ausnahmen können Sie Indikatoren und cBots, die in älteren Versionen von cTrader erstellt wurden, problemlos verwenden.

Hinweis

Einige Parameternamen und Methoden wurden während der Migration geändert. Beim Erstellen Ihrer alten cBots oder Indikatoren in neueren Versionen von cTrader erhalten Sie möglicherweise Build-Fehler oder Warnungen. Konsultieren Sie die Referenzbibliothek, um die neuen Methoden- oder Parameternamen und Methodenüberladungen zu erfahren.

So migrieren Sie zu .NET 6.0

Um von .NET Framework zu .NET 6.0 zu migrieren, erstellen Sie Ihre Indikatoren und cBots in cTrader Windows 4.2 oder neuer neu. Während der Neuerstellung ändert cTrader automatisch die .NET-Projektstruktur in den neuen SDK-Stil.

Ändern Sie nach der Neuerstellung das Zielframework Ihres Indikators oder cBots über das Dropdown-Menü Zielframework auf .NET 6.0.

Image title

Testen Sie Ihren Indikator oder cBot nach der Neuerstellung.

Hinweis

Wenn Ihr Indikator oder cBot die Zugriffsrechte File, Registry oder Internet verwendet, ändern Sie diese in FullAccess.

In Version 4.2 können cBots und Indikatoren, die mehrere Threads verwenden, keine API-Member aufrufen. Dies kann behoben werden, indem Sie die Methode BeginInvokeOnMainThread verwenden, um eine API-Methode oder ein Member aufzurufen. Andernfalls löst Ihr Code einen Fehler aus.

Da die cTrader Algo API nicht thread-sicher ist, müssen Sie die Methode BeginInvokeOnMainThread verwenden, wenn Sie ein API-Mitglied aufrufen oder darauf zugreifen.