Aller au contenu

Migrer depuis .NET Framework

Migrer vers .NET 6.0

cTrader Windows a migré de .NET Framework vers .NET 6.0 dans la version 4.2. Cela a entraîné un certain nombre de changements importants dans l'interface utilisateur et dans la façon dont les cBots et les indicateurs sont compilés et construits.

Changements clés

Avant la migration, cTrader utilisait .NET Framework 4.0 (et C# version 4). Tous les algorithmes s'exécutaient à l'intérieur du processus principal de cTrader Windows.

Après la migration, cTrader utilise désormais des processus enfants séparés pour les indicateurs et les cBots. Il utilise également un package NuGet dédié pour la construction des fichiers .algo.

Cela dit, les nouvelles versions de cTrader sont rétrocompatibles avec le code écrit avant la migration. À quelques exceptions près, vous pouvez utiliser librement les indicateurs et les cBots qui ont été construits dans les anciennes versions de cTrader.

Remarque

Certains noms de paramètres et méthodes ont été modifiés lors de la migration. Lors de la construction de vos anciens cBots ou indicateurs dans les nouvelles versions de cTrader, vous pouvez recevoir des erreurs ou des avertissements de construction à cause de cela. Consultez la bibliothèque de référence pour connaître les nouveaux noms de méthodes ou de paramètres et les surcharges de méthodes.

Comment migrer vers .NET 6.0

Pour migrer de .NET Framework vers .NET 6.0, reconstruisez vos indicateurs et cBots dans cTrader Windows 4.2 ou une version plus récente. Lors de la reconstruction, cTrader changera automatiquement la structure du projet .NET vers le nouveau style SDK.

Après la reconstruction, changez le framework cible de votre indicateur ou cBot vers .NET 6.0 via le menu déroulant Framework cible.

Image title

Testez votre indicateur ou cBot après la reconstruction.

Remarque

Si votre indicateur ou cBot utilise les droits d'accès File, Registry ou Internet, changez-les en FullAccess.

Dans la version 4.2, les cBots et les indicateurs utilisant plusieurs threads ne peuvent appeler aucun membre de l'API. Cela peut être résolu en utilisant la méthode BeginInvokeOnMainThread pour appeler une méthode ou un membre de l'API. Sinon, votre code générera une erreur.

Comme l'API cTrader Algo n'est pas thread-safe, vous devez utiliser la méthode BeginInvokeOnMainThread chaque fois que vous appelez ou accédez à un membre de l'API.