ExpertRemove

Arrête le travail de l'expert et la décharge du graphique.

void  ExpertRemove();

La valeur rendue

Il n'y a pas de valeur rendue.

Note

L'arrêt de l'expert ne se passe pas immédiatement à l'appel de la fonction ExpertRemove(), on produit seulement la section du drapeau pour l'arrêt du travail de l'expert. C'est-à-dire, l'expert ne traitera pas déjà un événement suivant, on produira l'appel OnDeinit() et l'effacement avec l'éloignement du graphique.

Appeler ExpertRemove() dans le strategy tester dans la fonction OnInit() annule le test de l'ensemble de paramètres courant. Une telle fin est considérée comme étant une erreur d'initialisation.

Lors de l'appel à ExpertRemove() dans le strategy tester après l'initialisation réussie d'un EA, un test est effectué normalement avec l'appel à OnDeinit() et OnTester(). Dans ce cas, les statistiques complètes de trading et la valeur du critère d'optimisation sont obtenues.

Exemple:

//+------------------------------------------------------------------+
//|                                            Test_ExpertRemove.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
input int ticks_to_close=20;// nombre de ticks avant la décharge de l'expert
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- 
   Print(TimeCurrent(),": " ,__FUNCTION__," reason code = ",reason);
//--- "clear" comment
   Comment("");
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   static int tick_counter=0;
//---
   tick_counter++;
   Comment("\nAvant la décharge de l'expert ",__FILE__," reste ",
           (ticks_to_close-tick_counter)," des ticks");
//--- jusqu'au
   if(tick_counter>=ticks_to_close)
     {
      ExpertRemove();
      Print(TimeCurrent(),": ",__FUNCTION__," expert sera déchargé ");
     }
   Print("tick_counter = ",tick_counter);
//---
  }
//+------------------------------------------------------------------+

Voir aussi

L'exécution des programmes, Les événements du terminal de client