Comment optimiser un cBot
Dans cTrader, il est possible de créer des cBots avec un nombre quelconque de paramètres personnalisables affectant leurs comportements, tels que les niveaux de protection des ordres ou les volumes d'ordres par défaut. Cela soulève la question de savoir comment exactement les traders peuvent déterminer les valeurs optimales de ces paramètres. Heureusement, cTrader offre un outil intégré qui peut gérer l'optimisation, ce qui permet aux traders d'économiser un temps précieux.
Dans ce guide de l'utilisateur, nous nous concentrons sur la façon dont les utilisateurs peuvent optimiser leurs cBots et démontrons pourquoi l'optimisation de cBot est essentielle pour tout développeur Algo.
Comment fonctionne l'optimisation de cBot
Considérez l'optimisation comme une série de backtests. Chaque passe de backtesting se produit sur les mêmes données mais utilise des valeurs différentes pour tous les paramètres codés dans un cBot.
Considérez un cBot qui peut réagir aux cas où les moyennes mobiles de périodes rapides et lentes se croisent (la moyenne mobile rapide croisant la moyenne mobile lente). Nous voulons pouvoir personnaliser le nombre de périodes rapides et lentes pour lesquelles le cBot reçoit des données.
Notre cBot devrait donc avoir les deux paramètres suivants.
1 2 3 4 5 | |
Pour définir les valeurs de paramètres optimales, nous devrions tester de manière approfondie le fonctionnement du cBot dans diverses conditions de marché et lorsqu'il reçoit différentes valeurs pour les deux paramètres ci-dessus. Si nous devions effectuer ces tests manuellement, ils prendraient beaucoup de temps sans fournir un ensemble de résultats faciles à interpréter.
Heureusement, nous pouvons faire en sorte que cTrader exécute ces tests automatiquement et, à leur conclusion, nous fournisse certaines valeurs de paramètres qui permettent au cBot d'obtenir les meilleurs résultats possibles. Ce processus est connu sous le nom d'optimisation de cBot.
Accédez à l'optimisation de cBot
Pour accéder à l'optimisation de cBot, effectuez les actions suivantes.
Tout d'abord, sélectionnez une instance du cBot que vous souhaitez optimiser. Si nécessaire, créez une nouvelle instance en cliquant sur l'icône plus et en sélectionnant un symbole, ou en sélectionnant Ajouter une instance dans le menu contextuel qui s'ouvre en cliquant sur l'icône Plus.
Ensuite, passez à l'onglet Optimisation situé juste à droite de l'onglet Backtesting. L'écran central de cet onglet devrait ressembler à ce qui suit.

Configurez les paramètres d'optimisation et les paramètres du cBot
Comme l'optimisation est une série de backtests, vous pouvez configurer les mêmes paramètres que pour le backtesting régulier. Pour ce faire, cliquez sur l'icône roue dentée et modifiez les valeurs dans le menu nouvellement ouvert.

Pour sélectionner les paramètres exacts que cTrader doit optimiser, cliquez sur le bouton Paramètres immédiatement à droite de l'icône roue dentée.

Dans cette sous-section, activez ou désactivez les indicateurs à gauche de chaque nom de paramètre pour inclure/exclure ces paramètres du processus d'optimisation. Notez que le paramètre Timeframe est présent pour tous les cBots quelle que soit leur configuration.
Nous voulons que l'optimisation détermine les valeurs optimales des périodes lentes et rapides que notre cBot prendra en compte au démarrage. Cependant, nous ne voulons pas encore essayer d'autres types de moyennes mobiles.
Définissez les critères et l'algorithme d'optimisation
Il est possible de déterminer quels critères exacts cTrader va utiliser pour sélectionner les valeurs de paramètres optimales parmi les passes de backtesting qu'il effectuera.
Pour ce faire, cliquez sur le bouton Critères représenté par l'icône de ligne ascendante. Vous verrez la section suivante.

Les paramètres de chaque critère comprennent deux menus. Dans le menu de gauche, sélectionnez si le critère doit être minimisé ou maximisé. Dans le menu de droite, choisissez le critère qui doit être minimisé ou maximisé parmi un ensemble d'options prédéfinies. De nouveaux critères peuvent être ajoutés en cliquant sur Ajouter un critère.
Dans la capture d'écran ci-dessus, nous voulons que cTrader maximise notre profit net et le nombre de trades gagnants que notre cBot effectue. En même temps, nous voulons minimiser le pourcentage maximal de diminution des fonds propres.
Par souci de brièveté, cet article ne couvre pas les critères d'optimisation personnalisés et la méthode GetFitness(). Pour en savoir plus à leur sujet, consultez notre documentation technique.
Pour choisir un algorithme d'optimisation spécifique, cliquez sur le bouton Algorithme à droite du bouton Critères. La sous-section suivante devrait s'ouvrir.

L'algorithme de recherche exhaustive est très précis mais gourmand en ressources. Lorsque l'option Grille est sélectionnée, cTrader crée une grille de toutes les valeurs de paramètres possibles et exécute tous les backtests nécessaires pour les tester. Bien que ce processus soit approfondi, il peut prendre un certain temps.
Heureusement, cTrader inclut l'option Algorithme génétique. Cet algorithme émule la sélection naturelle en considérant chaque passe comme un individu, les paramètres du cBot comme des gènes et le degré d'adéquation aux critères d'optimisation comme l'adaptabilité. L'algorithme génétique s'arrête une fois qu'il détecte que tout changement de certaines valeurs de paramètres produirait des rendements décroissants sur l'efficacité du cBot.
Comme l'algorithme génétique est moins gourmand en ressources que la recherche exhaustive tout en produisant des résultats précis, nous recommandons de sélectionner cette méthode d'optimisation.
Allouez des ressources et effectuez l'optimisation du cBot
Pour effectuer l'optimisation du cBot, sélectionnez la plage de données historiques sur laquelle cTrader exécutera les passes de backtesting. Pour ce faire, utilisez le curseur de calendrier en haut de l'onglet Optimisation ou les menus à gauche et à droite de celui-ci.
Notez que l'optimisation est un processus gourmand en ressources qui peut prendre un certain temps à se terminer. Comme nous voulons recevoir les résultats relativement rapidement, nous choisirons un an comme période d'optimisation.

cTrader permet également de déterminer le pourcentage exact des ressources du CPU allouées au processus d'optimisation. Pour personnaliser ce paramètre, cliquez sur le bouton Ressources à gauche du menu calendrier le plus à gauche.

Dans la section qui vient d'apparaître, faites glisser le curseur pour augmenter ou diminuer la consommation du CPU.
Après avoir terminé l'allocation des ressources, vous devriez être prêt.e à procéder à l'optimisation. Pour ce faire, cliquez sur le bouton Lecture à droite du menu calendrier le plus à droite. Après que cTrader a chargé les données historiques, vous verrez les passes d'optimisation ajoutées à l'écran central en temps réel.

En haut de la grille, vous verrez également le nombre actuel de passes, le temps écoulé et le temps d'optimisation restant.
Toutes les passes terminées seront marquées d'une coche verte. Toutes les passes au cours desquelles votre cBot a atteint le stop out seront, quant à elles, marquées d'une coche grise.
Remarque
Vous pouvez enregistrer et charger les résultats d'optimisation, ce qui vous permet de les transférer sur différents appareils.
Interprétez et appliquez les résultats de l'optimisation
Dans la grille centrale, cTrader affichera plusieurs métriques pour chaque passe de backtesting, notamment le nombre de trades gagnants effectués par votre cBot et le pourcentage de diminution maximale des fonds propres.
La colonne Fitness qui affiche un score de fitness pour chaque passe est particulièrement remarquable. Considérez le score de fitness comme une métrique qui évalue le degré auquel une passe a maximisé/minimisé vos critères d'optimisation choisis. Des scores de fitness plus élevés indiquent des degrés d'adéquation plus élevés avec ces critères.
Pour sélectionner rapidement la passe avec le score de fitness le plus élevé, activez simplement l'indicateur Sélectionner automatiquement la meilleure passe situé juste au-dessus de la grille centrale. Notez que vous pouvez activer l'indicateur Sélectionner automatiquement la meilleure passe pendant l'optimisation, et cTrader recherchera dynamiquement les meilleures valeurs de paramètres possibles.

Comme vous pouvez le voir dans la colonne Fitness, la passe numéro 33 a fourni le meilleur score de fitness possible par rapport à toutes les autres passes.
Nous pouvons cliquer en toute sécurité sur Appliquer à côté de la passe 33, et les valeurs de paramètres utilisées pendant cette passe seront immédiatement appliquées à notre instance de cBot.

Les valeurs par défaut des paramètres Périodes lentes et Périodes rapides étaient respectivement égales à 10 et 5.
Comme c'est le cas avec le backtesting, l'affichage Visualisation des trades fournira un graphique des fonds propres et des statistiques de trading détaillées résumant les actions entreprises par notre cBot au cours d'une passe particulière. Notez que le graphique des fonds propres n'est affiché que pour les 20 meilleures passes de la grille centrale.

Les lignes Solde et Fonds propres en augmentation constante ne font que renforcer le fait que la passe 33 a fourni les valeurs de paramètres nécessaires pour que notre cBot fonctionne efficacement.
Résumé
En bref, l'optimisation de cBot est un outil puissant pour garantir que vos conseillers de trading automatisés sont configurés correctement. Nous recommandons vivement d'effectuer plusieurs cycles d'optimisation avec différents critères pour avoir une idée des valeurs de paramètres qui seraient les meilleures pour tous les cBots que vous avez développés vous-même ou acquis auprès d'autres développeurs.