Asesores Expertos: Flat Channel - página 2

 
refounder83:

¿Puede decirme si el control de tiempo no funciona en este EA? Hay líneas en el procedimiento TimeControl

es decir, ¿si el valor de InpTimeControl es falso, devuelve true al procedimiento TimeControl?

Recomiendo utilizar un procedimiento TimeControl más avanzado:

Parámetros de entrada para el mismo:

input bool     InpTimeControl    = true;     // Utilizar el control del tiempo
input uchar    InpStartHour      = 10;       // Hora de inicio
input uchar    InpEndHour        = 15;       // Hora final

El propio procedimiento (se puede establecer de la mañana a la noche, o de la noche a la mañana - es decir, con una transición de día)

//+------------------------------------------------------------------+
//| TimeControl|
//+------------------------------------------------------------------+
bool TimeControl(void)
  {
   if(!InpTimeControl)
      return(true);
   MqlDateTime STimeCurrent;
   datetime time_current=TimeCurrent();
   if(time_current==D'1970.01.01 00:00')
      return(false);
   TimeToStruct(time_current,STimeCurrent);
   if(InpStartHour<InpEndHour) // intervalo intradiario
     {
/*
Ejemplo:
input uchar InpStartHour = 5;// Hora de inicio
input uchar InpEndHour = 10; // Hora final
0 1 2 3 4 5 6 7 8 910 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5 6 78 9 9 10 11 12 13 13 14 15
_ _ _ _ _ _ _ _ _ _ _ + + ++ + + _ _ _ _ _ _ _ __ _ _ _ _ _ _ _ _ _ _+ + + + + + _ _ _ _ _ _ _ _ _
*/
      if(STimeCurrent.hour>=InpStartHour && STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else if(InpStartHour>InpEndHour) // intervalo de tiempo con la transición en un día
     {
/*
Ejemplo:
input uchar InpStartHour = 10; // Hora de inicio
input ucharInpEndHour = 5;// Hora final
0 1 2 3 4 5 6 7 8 910 11 12 13 14 15 16 17 18 19 20 21 22 23 0 1 2 3 4 5 6 78 9 9 10 11 11 12 13 13 14 15
_ _ _ _ _ _ _ _ _ _ __ _ _ + + + + + + + ++ + + + + + + + + + +_ _ _ _ _ _ _ _ _ + + + + + + + + + +
*/
      if(STimeCurrent.hour>=InpStartHour || STimeCurrent.hour<InpEndHour)
         return(true);
     }
   else
      return(false);
//---
   return(false);
  }
 
Y entonces sí, si el parámetro"Usar control de tiempo" está configurado como"false" - es decir, el intervalo de tiempo está desactivado en absoluto, entonces el procedimiento bool TimeControl(void) siempre devolverá "true". Es decir, simplemente no participa y no interfiere en el proceso de recepción de señales.
[Eliminado]  
Hola bladimir no deja colocar o el ea solo funciona en activos de 0.01 y 0.10  el corredor que yo uso el cual es deriv y hay activos volatilitys no funciona el ea es un ea bueno pero no funciona en dicho corredor solo funciona en el activo step index que permite 0.10 los demas activos el corredor permite desde 0.001    0.002   0.003   0.004