FT CCI MA: Asesor Experto para MetaTrader 5

Mike 2018.11.20 21:46 10 0 0
Archivos adjuntos

Autor de la idea - Vasiliy

Autor del código mq5 - barabashkakvn

Este Asesor Experto (EA) utiliza los indicadores iCCI (Índice de Canal de Materias Primas, CCI) y iMA (Media Móvil, MA).

Cuando la MA indica crecimiento, el indicador iCCI señala: ¡-100 para comprar y 200 para vender!

Si la MA muestra una caída, el iCCI indica: ¡100 para comprar y -200 para vender!

De esta forma, durante movimientos fuertes, se reducen las operaciones “incorrectas”. El EA busca capturar el movimiento restante.

Puedes incluir un intervalo de tiempo para operar, ya que el parámetro Usar intervalo de tiempo habilita o deshabilita esta opción. El intervalo de tiempo se establece desde la Hora de inicio hasta la Hora de finalización. Puedes definir el intervalo tanto dentro del día como con una transición de un día a otro. A continuación, te comparto un ejemplo sobre cómo definir el intervalo de tiempo:

//+------------------------------------------------------------------+
//| Control de Tiempo                                                      |
//+------------------------------------------------------------------+
bool ControlDeTiempo(void)
  {
   MqlDateTime STimeActual;
   datetime tiempo_actual=TimeCurrent();
   if(tiempo_actual==D'1970.01.01 00:00')
      return(false);
   TimeToStruct(tiempo_actual,STimeActual);
   if(InpHoraInicio<InpHoraFin) // intervalo de tiempo intradía
     {
/*
Ejemplo:
input uchar    InpHoraInicio      = 5;        // Hora de inicio
input uchar    InpHoraFin      = 10;       // Hora de finalización
0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
_  _  _  _  _  +  +  +  +  +  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  +  +  +  +  +  _  _  _  _  _  _
*/
      if(STimeActual.hour>=InpHoraInicio && STimeActual.hour<InpHoraFin)
         return(true);
     }
    else if(InpHoraInicio>InpHoraFin) // intervalo de tiempo con transición de día
     {
/*
Ejemplo:
input uchar    InpHoraInicio      = 10;       // Hora de inicio
input uchar    InpHoraFin        = 5;        // Hora de finalización
0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
_  _  _  _  _  _  _  _  _  _  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  _  _  _  _  _  +  +  +  +  +  +
*/
      if(STimeActual.hour>=InpHoraInicio || STimeActual.hour<InpHoraFin)
         return(true);
     }
    else
      return(false);
//---
   return(false);
  }



Lista
Comentarios 0