Descripción:
Con el MQL5 Wizard, ahora los traders pueden generar automáticamente el código de sus Asesores Expertos basado en las clases de señales de trading, seguimiento de posiciones y gestión monetaria. Junto con las clases de señales de trading de la Biblioteca Estándar, puedes desarrollar y probar tus propios sistemas de trading. Para ello, solo necesitas escribir un módulo de señales de trading.
El libro "Las Estrategias de los Mejores Traders del Mundo" (en ruso) describe indicadores y estrategias de trading para el análisis técnico que involucran el paquete de software MetaStock. Además de las señales de trading convencionales, el libro aborda aquellas que se basan en el uso combinado de patrones de velas de reversión con confirmaciones de Estocástico, CCI, MFI y RSI.
Utilizar patrones de velas de "reversión" junto con señales de osciladores permite reducir el número de señales falsas y aumentar la eficiencia del sistema de trading.
En publicaciones anteriores, hemos analizado señales de trading basadas en patrones de velas con confirmación del Estocástico:
- 3 Cuervos Negros/3 Soldados Blancos
- Cubierta de Nube Oscura/Línea de Penetración
- Engulfing Alcista/Engulfing Bajista
- Harami Alcista/Harami Bajista
- Martillo/Hombre Colgado
- Líneas de Encuentro Alcista/Bajista
- Estrellas de la Mañana/Estrellas de la Noche
En esta descripción, consideraremos los resultados del uso combinado de todos estos modelos junto con las señales del indicador Estocástico.
1. Modelos de Velas Alcistas y Bajistas y Su Detección
CandlePattern también tiene funciones para detectar la formación de algunos patrones de velas alcistas y bajistas (excepto la combinación Martillo/Hombre Colgado).
La formación de un patrón de velas bajistas se verifica mediante la función CheckPatternAllBullish():
//+------------------------------------------------------------------+ //| Verifica la formación de patrones alcistas | //+------------------------------------------------------------------+ bool CCandlePattern::CheckPatternAllBullish() { return(CheckPatternThreeWhiteSoldiers() || CheckPatternPiercingLine() || CheckPatternMorningDoji() || CheckPatternBullishEngulfing() || CheckPatternBullishHarami() || CheckPatternMorningStar() || CheckPatternBullishMeetingLines()); }
La formación de un patrón de velas alcistas se verifica mediante la función CheckPatternAllBearish():
//+------------------------------------------------------------------+ //| Verifica la formación de patrones bajistas | //+------------------------------------------------------------------+ bool CCandlePattern::CheckPatternAllBearish() { return(CheckPatternThreeBlackCrows() || CheckPatternDarkCloudCover() || CheckPatternEveningDoji() || CheckPatternBearishEngulfing() || CheckPatternBearishHarami() || CheckPatternEveningStar() || CheckPatternBearishMeetingLines()); }
2. Señales de Trading Combinadas con el Indicador Estocástico
La apertura de una posición larga/corta se realiza cuando se forma uno de los modelos alcistas/bajistas y hay una confirmación del oscilador Estocástico. El valor de la línea de señal %D debe estar por encima o por debajo del nivel crítico correspondiente (30 y 70).
Una señal de salida se forma en dos casos:
- Cuando se forma un patrón de velas opuesto (uno bajista para una posición larga y uno alcista para una posición corta).
- Según el comportamiento subsiguiente de %D. Si %D alcanza el nivel opuesto al mercado (80 en caso de una posición larga y 20 en caso de una corta) o si %D no confirma la señal de reversión y alcanza 20 en caso de una posición larga y 80 en caso de una corta.
La verificación de las condiciones de entrada y salida del mercado se realiza en los siguientes métodos:
- int CCP_Stoch::LongCondition() - verificando condiciones para abrir una posición larga (m_pattern_0) y cerrar una corta (m_pattern_1);
- int CCP_Stoch::ShortCondition() - verificando condiciones para abrir una posición corta (m_pattern_0) y cerrar una larga (m_pattern_1).
2.1. Apertura de una Posición Larga y Cierre de una Corta
-
La señal para abrir una posición larga es la formación de una combinación de velas alcistas y cumplir la condición de StochSignal(1)<30 (el valor de la línea de señal del indicador Estocástico en la última barra completada es menor a 30);
-
La señal para cerrar una posición corta es la formación de uno de los patrones de velas alcistas o el caso en que la línea del indicador cruza el nivel 20 Estocástico (hacia arriba) o el nivel 80 (hacia arriba).
//+------------------------------------------------------------------+ //| Método para verificar si se formaron los modelos del mercado | //| Verifica condiciones para | //| entrada (abrir posición corta, m_pattern_0) | //| salida (cerrar posición larga, m_pattern_1) | //+------------------------------------------------------------------+ int CCP_Stoch::LongCondition() { int res=0; //---- verifica condiciones para abrir posición corta //---- formación de patrón alcista y línea de señal del indicador Estocástico<30 if(CheckPatternAllBullish() && (StochSignal(1)<30)) res=m_pattern_0; // señal para abrir posición larga //--- verifica condiciones para cerrar posición corta //--- formación de patrón bajista o cruce de la línea de señal (hacia arriba 20, hacia arriba 80) if(CheckPatternAllBullish() || ((StochSignal(1)>20) && (StochSignal(2)<20)) || ((StochSignal(1)>80) && (StochSignal(2)<80))) res=m_pattern_1; // señal para cerrar posición corta //--- return(res); }
2.2. Apertura de una Posición Corta y Cierre de una Larga
-
La señal para abrir una posición corta es la formación de uno de los patrones de velas bajistas y cumplir la condición de StochSignal(1)>70 (el valor de la línea de señal del indicador Estocástico en la última barra completada excede 70):
-
La señal para cerrar una posición larga es la formación de uno de los patrones de velas bajistas o el caso en que la línea del indicador cruza el nivel 80 Estocástico (hacia abajo) o el nivel 20 (hacia abajo).
//+------------------------------------------------------------------+ //| Método para verificar si se formaron los modelos del mercado | //| Verifica condiciones para | //| entrada (abrir posición corta, m_pattern_0) | //| salida (cerrar posición larga, m_pattern_1) | //+------------------------------------------------------------------+ int CCP_Stoch::ShortCondition() { int res=0; //--- verifica condiciones para abrir posición corta //---- formación de patrón bajista y línea de señal del indicador Estocástico>70 if(CheckPatternAllBearish() && (StochSignal(1)>70)) res=m_pattern_0; // señal para abrir posición corta //--- verifica condiciones para cerrar posición larga //---- formación de patrón bajista o cruce de la línea de señal (hacia abajo 80, hacia abajo 20) if(CheckPatternAllBearish() || ((StochSignal(1)<80) && (StochSignal(2)>80)) || ((StochSignal(1)<20) && (StochSignal(2)>20))) res=m_pattern_1; // señal para cerrar posición larga //--- return(res); }
2.3. Creación de un Asesor Experto Basado en Señales de Trading de Patrones de Velas + Estocástico Usando MQL5 Wizard
La clase CCP_Stoch no está incluida en la Biblioteca Estándar de señales de trading. Por lo tanto, descarga el archivo ccp_stoch.mqh (adjunto) y guárdalo en el directorio \terminal_folder\Include\Expert\Signal\MySignals para usarlo. El archivo candlepatterns.mqh debe copiarse al mismo directorio que ccp_stoch.mqh. Después de eso, reinicia MetaEditor para poder usar el archivo en MQL5 Wizard.
Para crear un robot de trading siguiendo esta estrategia a través del MQL5 Wizard, selecciona el tipo de señal "Señales basadas en Patrones de Velas + Estocástico" en el segundo paso:

Fig. 1. Seleccionando "Señales basadas en Patrones de Velas + Estocástico" en el generador de señales de trading en MQL5 Wizard
En los pasos posteriores, especifica el tipo de trailing stop necesario y el sistema de gestión monetaria. El código del Asesor Experto se genera automáticamente. Ahora, debe ser compilado para estar listo para comenzar a probar.
2.4. Resultados de Pruebas
Resultados de la Prueba del Asesor Experto en datos históricos (EURUSD H1, período de prueba: 1.1.2000-02.02.2011, PeriodK=33, PeriodD=37, PeriodSlow=30, MA_period=25).
Este Asesor Experto utiliza el módulo para trading con un volumen fijo de 0.1 lotes (Trading de Lote Fijo). No se utiliza trailing stop (Trailing no utilizado).

Fig. 2. Resultados de la prueba del Asesor Experto basado en "Señales basadas en Patrones de Velas + Estocástico"
El mejor conjunto de parámetros del sistema de trading se puede encontrar utilizando el Probador de Estrategias de MetaTrader 5.
El código del Asesor Experto creado por MQL5 Wizard se adjunta en el archivo expert_cp_stoch.mq5.
Comentarios 0