Inicio Trading Sistemático Publicación

Exp_ColorZerolagMomentum_X2: Sistema de Trading para MetaTrader 5

Archivos adjuntos
16981.zip (23.07 KB, Descargar 0 veces)

El sistema de trading Exp_ColorZerolagMomentum_X2 se basa en las señales de dos indicadores ColorZerolagMomentum. El primer indicador ayuda a identificar la dirección de la tendencia lenta mediante la posición de las líneas principal y de señal. El segundo indicador determina el momento para abrir una operación, cuando las líneas se cruzan o se tocan. Se genera una señal al cerrar una barra si se cumplen dos condiciones:

  • Las señales de la tendencia rápida y lenta coinciden;
  • La dirección de la tendencia rápida ha cambiado.

Parámetros de entrada para el Asesor Experto:

//+-------------------------------------------------+
//| Parámetros de entrada del indicador EA           |
//+-------------------------------------------------+
input string Trade="Gestión de operaciones";    //+============== GESTIÓN DE OPERACIONES ==============+  
input double MM=0.1;               //Porcentaje del depósito en una operación
input MarginMode MMMode=LOT;      //método de detección del valor del lote
input uint    StopLoss_=1000;      //Stop Loss en puntos
input uint    TakeProfit_=2000;      //Take Profit en puntos
input string MustTrade="Permisos de operación";    //+============== PERMISOS DE OPERACIÓN ==============+  
input int    Deviation_=10;       //desviación máxima de precio en puntos
input bool   BuyPosOpen=true;     //Permiso para abrir posición larga
input bool   SellPosOpen=true;    //Permiso para abrir posición corta
//+-------------------------------------------------+
//| Parámetros de entrada del indicador de filtro        |
//+-------------------------------------------------+
input string Filter="PARÁMETROS PARA LA TENDENCIA LENTA";    //+============== PARÁMETROS PARA LA TENDENCIA LENTA ==============+  
input ENUM_TIMEFRAMES TimeFrame=PERIOD_H6;  //1 Periodo gráfico para la tendencia
input uint    smoothing=15;
input ENUM_APPLIED_PRICE IPC=PRICE_CLOSE;//Precio aplicado
//----
input double Factor1=0.05;
input uint    Momentum_period1=8;
//----
input double Factor2=0.10;
input uint    Momentum_period2=21;
//----
input double Factor3=0.16;
input uint    Momentum_period3=34;
//----
input double Factor4=0.26;
input int    Momentum_period4=55;
//----
input double Factor5=0.43;
input uint    Momentum_period5=89;
input uint SignalBar=1; //índice de barra para obtener una señal de entrada
input bool   BuyPosClose=true;     //Permiso para cerrar posiciones largas por tendencia
input bool   SellPosClose=true;    //Permiso para cerrar posiciones cortas por tendencia
//+-------------------------------------------------+
//| Parámetros de entrada del indicador de entrada         |
//+-------------------------------------------------+
input string Input="PARÁMETROS DE ENTRADA";       //+=============== PARÁMETROS DE ENTRADA ===============+  
input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30;  //2 Periodo gráfico para la entrada
input uint    smoothing_=15;
input ENUM_APPLIED_PRICE IPC_=PRICE_CLOSE;//Precio aplicado
//----
input double Factor1_=0.05;
input uint    Momentum_period1_=8;
//----
input double Factor2_=0.10;
input uint    Momentum_period2_=21;
//----
input double Factor3_=0.16;
input uint    Momentum_period3_=34;
//----
input double Factor4_=0.26;
input int    Momentum_period4_=55;
//----
input double Factor5_=0.43;
input uint    Momentum_period5_=89;
input uint SignalBar_=1;//índice de barra para obtener una señal de entrada
input bool   BuyPosClose_=false;     //Permiso para cerrar posiciones largas por señal
input bool   SellPosClose_=false;    //Permiso para cerrar posiciones cortas por señal
//+-------------------------------------------------+

Los parámetros de texto en el código de entrada son solo para mejorar la visualización de la ventana de parámetros de entrada del experto.

Los indicadores ColorZerolagMomentum_HTF en el EA están destinados únicamente para una visualización más cómoda de las tendencias en el probador de estrategias; en otros modos de operación están inactivos.

Coloca los archivos compilados ColorZerolagMomentum.ex5 y ColorZerolagMomentum_HTF.ex5 en la carpeta <carpeta_de_datos_terminal>\MQL5\Indicators.

Después de la compilación, el archivo Exp_ColorZerolagMomentum.ex5 contiene los indicadores ColorZerolagMomentum.ex5 y ColorZerolagMomentum_HTF.ex5 como recursos, por lo que no es necesario que estén presentes en la carpeta del terminal para que el EA compilado funcione. Para esto, se ha añadido el código correspondiente al código del EA para incluir estos indicadores en el archivo ejecutable del experto.

Los archivos ejecutables de los indicadores han sido añadidos como recursos en el ámbito global.

//---- Incluir los indicadores en el código EA como recursos
#resource "\Indicators\ColorZerolagMomentum.ex5"
#resource "\Indicators\ColorZerolagMomentum_HTF.ex5"

Se cambiaron las rutas de los indicadores utilizados como recursos en el bloque de la función OnInit()

//---- obteniendo el manejador del indicador ColorZerolagMomentum
   InpInd_Handle=iCustom(Symbol(),TimeFrame,"::Indicators\ColorZerolagMomentum",
                         smoothing,IPC,Factor1,Momentum_period1,Factor2,Momentum_period2,Factor3,Momentum_period3,Factor4,Momentum_period4,Factor5,Momentum_period5);
   if(InpInd_Handle==INVALID_HANDLE)
     {
      Print(" Falló al obtener el manejador del indicador ColorZerolagMomentum");
      return(INIT_FAILED);
     }

//---- obteniendo el manejador del indicador ColorZerolagMomentum
   InpInd_Handle_=iCustom(Symbol(),TimeFrame_,"::Indicators\ColorZerolagMomentum",
                          smoothing_,IPC_,Factor1_,Momentum_period1_,Factor2_,Momentum_period2_,Factor3_,Momentum_period3_,Factor4_,Momentum_period4_,Factor5_,Momentum_period5_);
   if(InpInd_Handle_==INVALID_HANDLE)
     {
      Print(" Falló al obtener el manejador del indicador ColorZerolagMomentum");
      return(INIT_FAILED);
     }

   if(MQLInfoInteger(MQL_VISUAL_MODE))
     {
      //---- obteniendo el manejador del indicador ColorZerolagMomentum_HTF
      int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\ColorZerolagMomentum_HTF",TimeFrame,
                             smoothing,IPC,Factor1,Momentum_period1,Factor2,Momentum_period2,Factor3,Momentum_period3,Factor4,Momentum_period4,Factor5,Momentum_period5);
      if(Ind_Handle==INVALID_HANDLE)
        {
         Print(" Falló al obtener el manejador del indicador ColorZerolagMomentum_HTF");
         return(INIT_FAILED);
        }
      //---- obteniendo el manejador del indicador ColorZerolagMomentum_HTF
      Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\ColorZerolagMomentum_HTF",TimeFrame_,
                             smoothing_,IPC_,Factor1_,Momentum_period1_,Factor2_,Momentum_period2_,Factor3_,Momentum_period3_,Factor4_,Momentum_period4_,Factor5_,Momentum_period5_);
      if(Ind_Handle==INVALID_HANDLE)
        {
         Print(" Falló al obtener el manejador del indicador ColorZerolagMomentum_HTF");
         return(INIT_FAILED);
        }

     }

Así, el archivo ejecutable compilado del experto se puede utilizar en otros terminales de trading sin necesidad de los indicadores.

Ten en cuenta que la biblioteca TradeAlgorithms.mqh permite utilizar Asesores Expertos con brokers que ofrecen spread no cero y la opción de establecer Stop Loss y Take Profit junto con la apertura de posición. Puedes descargar más variantes de la biblioteca en el siguiente enlace: Algoritmos de Trading.

Se han utilizado los parámetros de entrada del Asesor Experto por defecto durante las pruebas mostradas a continuación. No se han utilizado Stop Loss y Take Profit durante las pruebas.

Fig. 1. Ejemplos de operaciones en el gráfico

Fig. 1. Ejemplos de operaciones en el gráfico

Resultados de las pruebas para 2015 sobre GBPJPY, tendencia lenta en H6, entrada por tendencia rápida en M30:

Fig. 2. Gráfico de resultados de la prueba

Fig. 2. Gráfico de resultados de la prueba

Publicaciones relacionadas

Comentarios (0)