Guide de test et d’optimisation des conseillers experts en IA | Deriv Blog

Perfectionnez votre conseiller expert en IA grâce à des techniques de test adaptées. Notre guide couvre les problèmes courants, les méthodes de test et l’optimisation des conseillers experts pour des robots de trading fiables.

Par la rédaction Deriv · 21 April 2025 · 7 min de lecture

Share

Les conseillers experts de trading basés sur l’IA sont là — mais vous devez tout de même les tester et les peaufiner.

Si vous avez déjà utilisé des outils d’IA comme Claude ou ChatGPT pour créer un conseiller expert pour Deriv MT5 ou un cBot pour Deriv cTrader, vous partez sur de très bonnes bases. Mais même lorsque le code semble correct, il peut encore contenir des erreurs qui affectent le fonctionnement du robot.

Avant de lancer votre conseiller expert (EA) sur un marché réel, il est important de le tester et de vous assurer qu’il fonctionne comme prévu.

Dans ce guide, nous passerons en revue les erreurs de codage courantes dans les EA générés par l’IA, la manière de les corriger et des conseils pratiques pour améliorer les performances de votre robot.

Erreurs courantes de codage MQL5 par l’IA

Voici quelques-uns des problèmes les plus fréquents rencontrés dans les EA générés par l’IA, ainsi que des moyens de les corriger :

  • Erreur d’identifiant non déclaré dans MQL5

Cette erreur apparaît lorsque le robot utilise une variable ou un nom qui n’a pas été correctement défini, par exemple en l’absence d’un paramètre ou en utilisant un nom incorrect dans des indicateurs comme iMA().

Correction :
Vérifiez les paramètres de l’indicateur et assurez-vous que tous les noms de variables correspondent à ce qui est attendu dans MetaEditor (l’outil de codage de MT5).

  • Fonctions d’exécution d’ordres Buy/Sell manquantes

Certains robots générés par l’IA omettent la logique essentielle pour ouvrir des trades.

Correction :
Ajoutez manuellement les fonctions de base d’exécution des trades. Voici un exemple de structure simple pour placer un ordre d’achat :

void OpenBuy() { 

   MqlTradeRequest request; MqlTradeResult result; 

   request.action = TRADE_ACTION_DEAL; 

   request.type = ORDER_TYPE_BUY; 

   request.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK); 

   request.volume = 0.1; request.magic = 12345; 

   OrderSend(request, result); 

}

Veillez également à inclure la logique pour les ordres de vente et à définir les conditions dans lesquelles les trades doivent être placés.

  • Conditions de boucle incorrectes dans Deriv cTrader

Dans Deriv cTrader, la logique du robot doit s’exécuter dans des fonctions spécifiques comme OnBar() ou OnTick(). Elles sont déclenchées automatiquement lorsque le marché évolue. Si votre code est placé en dehors de ces sections, par exemple dans la mauvaise boucle ou dans la portée globale, il ne s’exécutera pas comme prévu.

Correction :

Veillez à ce que les barres et les ticks soient gérés dans OnBar() ou OnTick(). Cela permettra à votre robot de réagir correctement aux nouveaux ticks ou aux nouvelles barres pendant le backtesting et le trading en direct.

  • Mauvais calcul de la taille du lot en fonction du pourcentage du solde

Lorsque l’IA essaie de définir la taille du lot en fonction du solde de votre compte (par exemple, en risquant 2 % par trade), elle peut omettre un détail important — la taille du contrat. Cela peut entraîner des tailles de lot inexactes. Cela ne déclenchera pas d’erreur de code, mais lors des tests, vous constaterez des tailles de trade qui ne correspondent pas à vos paramètres de risque, ce qui entraînera une surexposition ou une sous-exposition dans les trades en réel.

Correction :
Utilisez une formule avec une taille de lot qui tient compte de la taille du contrat, par exemple :

//-----------------------------------------------------------------

double accountBalance = AccountInfoDouble(ACCOUNT_BALANCE);

double riskMoney = accountBalance * (RiskPercent / 100.0);

double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);

double tickSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE);

double pointValue = tickValue / tickSize;

double contractSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE);

if(contractSize > 0)

pointValue = pointValue / contractSize;

double lotSize = riskMoney / (StopLossPoints * pointValue);

double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);

double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);

double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);

lotSize = MathMax(lotSize, minLot);

lotSize = MathMin(lotSize, maxLot);

lotSize = MathFloor(lotSize / lotStep) * lotStep;

  • Autres erreurs

Si vous rencontrez l’une de ces erreurs — ou toute autre — vous pouvez toujours demander à votre modèle d’IA de vous aider à identifier et à corriger le problème.

Il vous suffit de copier le message d’erreur et le code pertinent, puis de les partager avec le modèle d’IA. La plupart du temps, il devrait être capable d’identifier le problème et de proposer une correction ou des solutions possibles.

Conseil : Exécutez toujours un backtest avant de passer en réel. Ce type de problème n’apparaît qu’une fois la stratégie testée avec des données de marché réelles.

Améliorez votre conseiller expert généré par l’IA

Une fois votre robot opérationnel, vous pouvez apporter de petites modifications pour améliorer ses performances et sa stabilité. Voici quelques astuces courantes pour y parvenir :

  • Ajoutez une logique de gestion des erreurs pour gérer les comportements inattendus en cas de forte volatilité ou de problèmes de connexion.
  • Utilisez un stop loss suiveur pour verrouiller les gains potentiels lorsque le marché évolue en votre faveur.
  • Backtestez votre stratégie avec des données historiques pour voir comment elle aurait fonctionné.
  • Nettoyez et organisez votre code pour améliorer sa lisibilité et son efficacité. Cela facilitera les mises à jour ou le dépannage par la suite.

Conseil : Utilisez le débogueur MetaEditor (sur MT5) pour tester le fonctionnement de votre robot étape par étape.

Pourquoi le backtesting des trades est essentiel

Les robots générés par l’IA sont un excellent moyen d’automatiser votre trading sans avoir à coder à partir de zéro. Mais même avec l’IA, votre stratégie a toujours besoin de vérifications et d’ajustements humains pour bien fonctionner dans des conditions réelles.

Avant de passer en réel, prenez le temps de tester en profondeur et d’apporter de petites améliorations. Même des corrections mineures peuvent faire une grande différence dans la régularité et l’efficacité avec lesquelles votre EA fonctionne.

Join 3M+ global traders

Open an account in minutes and start trading the world's markets — forex, stocks, indices, and more.