ExpertRemove

Detiene el trabajo del Asesor Experto y lo descarga del gráfico.

void  ExpertRemove();

Valor devuelto

No hay valor devuelto.

Nota

El Asesor Experto no se detiene inmediatamente si se llama a la función ExpertRemove(), únicamente se activa la bandera para detener la ejecución del Asesor Experto. Es decir, el Asesor Experto no va a procesar ninguno de los siguientes eventos, se invocará la función OnDeinit() y El Asesor Experto será descargado y borrado del gráfico.

La llamada de ExpertRemove() en el simulador de estrategias dentro del manejador OnInit() conllevará la cancelación de la simulación en el actual conjunto de parámetros. Esta finalización se considera un error de inicialización.

Al llamar ExpertRemove() en el simulador de estrategias después de inicializar el asesor con éxito, la simulación finalizará de la forma normal, con la llamada de OnDeinit() y OnTester(). En este caso, se obtendrán todas las estadísticas comerciales y el valor del criterio de optimización.

Ejemplo:

//+------------------------------------------------------------------+
//|                                            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;// número de ticks antes de descargar el Asesor Experto
//+------------------------------------------------------------------+
//| 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("\nHasta la descarga del Asesor Experto ",__FILE__," quedan",
           (ticks_to_close-tick_counter)," ticks");
//--- hasta
   if(tick_counter>=ticks_to_close)
     {
      ExpertRemove();
      Print(TimeCurrent(),": ",__FUNCTION__," Asesor Experto será descargado");
     }
   Print("tick_counter = ",tick_counter);
//---
  }
//+------------------------------------------------------------------+

Véase también

Funcionamiento de programas, Eventos del terminal de cliente