El sistema de trading Exp_XROC2_VG_X2 se basa en las señales generadas por dos indicadores XROC2_VG. El primer indicador determina la dirección de la tendencia lenta, analizando la posición de las líneas principal y de señal. Por otro lado, el segundo indicador se encarga de señalar el momento ideal para abrir una operación, cuando las líneas se cruzan o tocan. Se genera una señal de entrada al cierre de una barra si se cumplen las siguientes dos condiciones:
- Las señales de tendencia rápida y lenta coinciden.
- La tendencia rápida ha cambiado de dirección.
Parámetros de entrada del EA:
//+-------------------------------------------------+ //| 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 posiciones largas input bool SellPosOpen=true; //Permiso para abrir posiciones cortas //+-------------------------------------------------+ //| Parámetros de entrada del indicador de filtro | //+-------------------------------------------------+ input string Filter="PARÁMETROS DE TENDENCIA LENTA"; //+============== PARÁMETROS DE TENDENCIA ==============+ input ENUM_TIMEFRAMES TimeFrame=PERIOD_H6; //1 Periodo gráfico para la tendencia input uint ROCPeriod1=8; input Smooth_Method MA_Method1=MODE_JJMA; //Método de promediado del primer indicador input uint Length1=5; //Profundidad del primer suavizado input int Phase1=15; //Parámetro del primer suavizado, //---- para JJMA dentro del rango de -100 ... +100, influye en la calidad del proceso de transición; //---- para VIDIA es un periodo de CMO, para AMA es un periodo de media lenta input uint ROCPeriod2=14; input Smooth_Method MA_Method2=MODE_JJMA; //Método de promediado del segundo indicador input uint Length2 = 5; //Profundidad del segundo suavizado input int Phase2=15; //Parámetro del segundo suavizado, //---- para JJMA dentro del rango de -100 ... +100, influye en la calidad del proceso de transición; //---- para VIDIA es un periodo de CMO, para AMA es un periodo de media lenta input ENUM_TYPE ROCType=MOM; input uint SignalBar=1; //Índice de barra para recibir la 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 entrada input uint ROCPeriod1_=8; input Smooth_Method MA_Method1_=MODE_JJMA; //Método de promediado del primer indicador input uint Length1_=5; //Profundidad del primer suavizado input int Phase1_=15; //Parámetro del primer suavizado, //---- para JJMA dentro del rango de -100 ... +100, influye en la calidad del proceso de transición; //---- para VIDIA es un periodo de CMO, para AMA es un periodo de media lenta input uint ROCPeriod2_=14; input Smooth_Method MA_Method2_=MODE_JJMA; //Método de promediado del segundo indicador input uint Length2_ = 5; //Profundidad del segundo suavizado input int Phase2_=15; //Parámetro del segundo suavizado, //---- para JJMA dentro del rango de -100 ... +100, influye en la calidad del proceso de transición; //---- para VIDIA es un periodo de CMO, para AMA es un periodo de media lenta input ENUM_TYPE ROCType_=MOM; input uint SignalBar_=1;//Índice de barra para recibir 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
La variable de tipo string que contiene el texto en el código de los parámetros de entrada se utiliza únicamente para mejorar la visualización de la ventana de parámetros del EA.
Los indicadores XROC2_VG_HTF en el EA están destinados solamente para una visualización más conveniente de las tendencias en el probador de estrategias; en otros modos de operación, están inactivos.
Para asegurar el correcto funcionamiento del Asesor Experto compilado, debes agregar los archivos de indicadores compilados XROC2_VG.ex5 y XROC2_VG_HTF.ex5 a <carpeta_de_datos_del_terminal>\MQL5\Indicators.
Ten en cuenta que la biblioteca TradeAlgorithms.mqh permite el uso de Asesores Expertos con brókers que ofrecen spread no cero y la opción de establecer Stop Loss y Take Profit durante la apertura de posiciones. Puedes descargar más variantes de la biblioteca en el siguiente enlace: Algoritmos de Trading.
Se utilizaron los parámetros de entrada predeterminados del Asesor Experto durante las pruebas que se muestran a continuación. No se utilizaron Stop Loss y Take Profit durante la prueba.

Fig. 1. Ejemplos de operaciones en el gráfico
Resultados de la prueba para 2015 en AUDUSD, tendencia lenta en H6, entrada por tendencia rápida en M30:
Fig. 2. Gráfico de resultados de la prueba
Publicaciones relacionadas
- Schnick: Herramienta de Aprendizaje Automático para MetaTrader 5
- Exp5-VirtualTradePad para MT5: Tu Panel de Control Ideal
- Crea tu Asesor Experto con MQL5: Señales de Trading Basadas en Dark Cloud Cover y Piercing Line
- Señales de Trading con MQL5: Patrones de Estrellas y MFI
- Canales de Desviación Estándar: Tu Asesor Experto para MetaTrader 4
