Idea de: Iurii Tokman.
Código MQL5 por: Vladimir Karputov.
Este sistema de trading utiliza dos indicadores: el iMA (Media Móvil, MA) y el iRSI (Índice de Fuerza Relativa, RSI). Las decisiones de trading se toman únicamente cuando aparece una nueva barra, mientras que las posiciones se ajustan y cierran (en caso de ganancias) en cada tick.
Se aplicó una solución poco convencional: el periodo de promediado del indicador Slow se calcula como el periodo de promediado Fast multiplicado por dos, mientras que el periodo de promediado del RSI siempre es igual al periodo Fast. Esto reduce el número de parámetros en la optimización.
Además, puedes optimizar todos los signos "<" y ">" en la fórmula de identificación de señales. Para hacerlo, se introducen sus propias variables (InpMoreLessBuy_1, InpMoreLessBuy_2, InpMoreLessBuy_3, InpMoreLessSell_1, InpMoreLessSell_2, y InpMoreLessSell_3). Con estas variables, la fórmula se modifica de la siguiente manera:
bool signal_buy=(!InpMoreLessBuy_1 ? ArrayFast[1]<ArraySlow[1]: ArrayFast[1]>ArraySlow[1]) && (InpMoreLessBuy_2 ? ArrayFast[0]>ArraySlow[0]: ArrayFast[0]<ArraySlow[0]) && (InpMoreLessBuy_3 ? RSI>InpRSI_level_UP : RSI<InpRSI_level_UP); bool signal_sell=(InpMoreLessSell_1 ? ArrayFast[1]>ArraySlow[1]: ArrayFast[1]<ArraySlow[1]) && (!InpMoreLessSell_2? ArrayFast[0]<ArraySlow[0]: ArrayFast[0]>ArraySlow[0]) && (!InpMoreLessSell_3? RSI<InpRSI_level_DOWN : RSI>InpRSI_level_DOWN);
Parámetros de entrada
-
Parámetros de los indicadores Media Móvil:
- Fast: periodo de media - Periodo de promediado de la Media Móvil "Fast";
- Fast: desplazamiento horizontal - Desplazamiento horizontal de la Media Móvil "Fast";
- Fast: tipo de precio - Tipo de precio de la Media Móvil "Fast";
- Slow: desplazamiento horizontal - Desplazamiento horizontal de la Media Móvil "Slow";
- Slow: tipo de precio - Tipo de precio de la Media Móvil "Slow";
- Fast y Slow: tipo de suavizado - Tipo de promediado (un parámetro común para "Fast" y "Slow").
-
Parámetros del indicador RSI y sus señales:
- RSI: tipo de precio - Tipo de precio del indicador RSI;
- RSI: nivel UP - Nivel superior del indicador RSI;
- RSI: nivel DOWN - Nivel inferior del indicador RSI.
-
Parámetros de trading:
- Stop Loss - Stop Loss (si se establece en cero, el parámetro se desactivará);
- Take Profit - Take Profit (si se establece en cero, el parámetro se desactivará);
- Trailing Stop - Trailing (si se establece en cero, el parámetro se desactivará);
- Trailing Step - paso del trailing;
- Lots - trading con un tamaño de lote fijo (el parámetro Lots es mayor que cero y el parámetro Risk es igual a cero);
- Risk - el tamaño del lote se calcula dinámicamente (el parámetro Risk es mayor que cero y el parámetro Lots es igual a cero);
- Número máximo de posiciones en una dirección - el número máximo en una dirección (si se establece en cero, el parámetro se desactivará);
- Cerrar todas las posiciones cuando se logre el beneficio - Cierre de posiciones al alcanzar el beneficio (si se establece en cero, el parámetro se desactivará);
- Cerrar posiciones opuestas - Cierre de posiciones opuestas (si se establece en "false", el parámetro se desactivará);
- número mágico - identificador único para el sistema de trading.
Como puedes ver, junto con la configuración de los parámetros de los indicadores, este EA permite configurar de forma flexible (y desactivar) el Stop Loss, Take Profit, Trailing, el número máximo de posiciones abiertas en una dirección, el cierre de posiciones al ganar beneficios y el cierre de posiciones opuestas. También puedes gestionar los cálculos del volumen de posición: Puedes operar con un tamaño de lote fijo (Lots mayor que cero y Risk igual a cero), o el tamaño del lote puede calcularse dinámicamente (Risk mayor que cero y Lots igual a cero).
Recomendaciones para la optimización
En el modo "OHLC en M1", selecciona un símbolo y el marco temporal M15. Desactiva (establece en cero) Stop Loss, Take Profit y Trailing y establece el número máximo de posiciones en cada dirección en "1". O copia el archivo Two MA one RSI M15 Start.set en la carpeta MQL5\Profiles\Tester\ que ya contiene los parámetros de optimización iniciales para M15.
Selecciona el tipo de optimización como "Rápida (algoritmo genético)" y el parámetro "Balance max" para ser optimizado.
Para la optimización, te recomiendo involucrar la red MQL5 Cloud: Para USDJPY durante el año 2017, la optimización en la nube más mi portátil de cuatro núcleos

tomó
2018.05.28 08:03:19.923 optimización realizada en 7 minutos 58 segundos
y costó $0.08.
Publicaciones relacionadas
- Schnick: Herramienta de Aprendizaje Automático para MetaTrader 5
- Combo Trader: El Asesor Experto para MetaTrader 4 que Necesitas
- Asesor Experto Basado en Medias Móviles: Tu Guía para MetaTrader 4
- Exp5-VirtualTradePad para MT5: Tu Panel de Control Ideal
- Canales de Desviación Estándar: Tu Asesor Experto para MetaTrader 4