MetaTrader5
Exp_ColorZerolagMomentum_X2: Sistema de Trading para MetaTrader 5
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óninput MarginMode MMMode=LOT; //método de detección del valor del loteinput uint StopLoss_=1000; //Stop Loss en puntosinput uint TakeProfit_=2000; //Take Profit en puntosinput string MustTrade="Permisos de operación"; //+============== PERMISOS DE OPERACIÓN ==============+ input int Deviation_=10; //desviación máxima de precio en puntosinput bool BuyPosOpen=true; //Permiso para abrir posición largainput 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 tendenciainput 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 entradainput bool BuyPosClose=true; //Permiso para cerrar posiciones largas por tendenciainput 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 entradainput 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 entradainput bool BuyPosClose_=false; //Permiso para cerrar posiciones largas por señalinput 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áficoResultados 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
2017.01.26