Mira cómo descargar robots gratis
¡Búscanos en Facebook!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Asesores Expertos

Asistente MQL5 - Señales de Trading Basadas en Patrones de Velas + Estocástico - Asesor Experto para MetaTrader 5

Visualizaciones:
2110
Ranking:
(44)
Publicado:
2014.01.14 08:43
Actualizado:
2016.11.22 07:33
\MQL5\Include\Expert\Signal\MySignals\
candlepatterns.mqh (24.26 KB) ver
ccp_stoch_m.mqh (9.58 KB) ver
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Descripción:

Con el Asistente MQL5 ya puedes crear automáticamente Asesores Expertos basados en clases de señales de trading, seguimiento de posiciones y gestión del dinero. Además de las clases de señales de trading de la Librería Estándar, también puedes desarrollar y probar tus propios sistemas de inversión; tan sólo tienes que escribir tu propio módulo de señales de trading.

El libro "The Strategies of the Best Traders in the World" -Estrategias de los mejores traders del mundo- (escrito en ruso) describe varios indicadores técnicos y estrategias de trading con la ayuda del paquete de software MetaStock. Además de las señales convencionales, este libro también trata las señales de trading que combinan patrones de velas de inversión con confirmaciones del Estocástico, CCI, MFI y RSI.

Los patrones de inversión de velas combinados con las señales de algún oscilador pueden reducir el número de señales falsas y aumentar la eficiencia del sistema de trading.

En publicaciones anteriores hemos tratado algunas señales de trading basadas en patrones de velas confirmadas por el Estocástico:

  1. 3 cuervos negros/3 soldados blancos
  2. Cubierta de nube oscura/Pauta penetrante
  3. Engulfing alcista/Engulfing bajista
  4. Harami alcista/Harami bajista
  5. Hombre martillo/colgado
  6. Líneas de encuentro alcistas/bajistas
  7. Estrellas de la mañana/tarde

En esta publicación vamos a estudiar la combinación de estos modelos con las señales del indicador Estocástico.


1. Modelos de velas alcistas y bajistas, y su detección

La clase CandlePattern también tiene funciones de detección de formación de algunos patrones de velas alcistas y bajistas (excepto la combinación hombre martillo/colgado).

La función CheckPatternAllBullish() comprueba la formación de un patrón de vela alcista:

//+------------------------------------------------------------------------+
//| Comprueba la formación de patrones alcistas                            |
//+------------------------------------------------------------------------+
bool CCandlePattern::CheckPatternAllBullish()
  {
   return(CheckPatternThreeWhiteSoldiers()  || 
          CheckPatternPiercingLine()       || 
          CheckPatternMorningDoji()        || 
          CheckPatternBullishEngulfing()   || 
          CheckPatternBullishHarami()      || 
          CheckPatternMorningStar()        || 
          CheckPatternBullishMeetingLines());
  }

La función CheckPatternAllBearish() comprueba la formación de un patrón de vela bajista:

//+------------------------------------------------------------------------+
//| Comprueba 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

Se abre una posición larga/corta cuando se forma uno de los modelos alcistas/bajistas y se produce una confirmación por parte del Oscilador Estocástico. La línea de señal %D debe estar por encima o por debajo del nivel crítico adecuado (30 y 70).

La señal de salida se forma en estos dos casos:

  1. Cuando se forma un patrón de vela opuesto (uno bajista para una posición larga y uno alcista para una posición corta).
  2. De acuerdo al comportamiento posterior de %D. Si %D alcanza el nivel opuesto al mercado (80 en las posiciones largas y 20 en las posiciones cortas), o si %D no confirma la señal de inversión y llega a 20 en una posición larga y a 80 en una corta.

La comprobación de las condiciones de entrada y salida del mercado se lleva a cabo de la siguiente manera:

  • int CCP_Stoch::LongCondition() - comprobación de las condiciones para abrir una posición larga (m_pattern_0) y cerrar una corta (m_pattern_1);
  • int CCP_Stoch::ShortCondition() - comprobación de las condiciones para abrir una posición corta (m_pattern_0) y cerrar una larga (m_pattern_1).

2.1. Abrir una posición larga y cerrar una corta

  1. La señal para abrir una posición larga se produce cuando se combinan una vela alcista y la confirmación de la condición StochSignal(1)<30 (el valor de la línea de señal del indicador Estocástico en la última barra completada es inferior a 30):

  2. La señal para cerrar una posición corta se produce cuando se forma un patrón de velas alcista o cuando la línea del indicador Estocástico cruza la línea del nivel 20 (por encima) o la línea del nivel 80 (por encima).

//+------------------------------------------------------------------------+
//| Método que comprueba si se forman los modelos de mercado               |
//| Comprueba las condiciones de                                           |
//| entrada (abrir posición larga, m_pattern_0)                            |
//| salida  (cerrar posición corta, m_pattern_1)                           |
//+------------------------------------------------------------------------+
int CCP_Stoch::LongCondition()
  {
   int res=0;
//---- comprueba las condiciones para abrir una posición larga
//---- formación de un 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 

//--- comprueba las condiciones para cerrar una 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. Abrir una posición corta y cerrar una larga

  1. La señal para abrir una posición corta se produce cuando se combinan un patrón de vela bajista y la confirmación de la condición StochSignal(1)>70 (el valor de la línea de señal del indicador Estocástico en la última barra completada es superior a 70):

  2. La señal para cerrar una posición larga se produce cuando se forma un patrón de velas bajista o cuando la línea del indicador Estocástico cruza el nivel 80 (por debajo) o el nivel 20 (por debajo).

//+------------------------------------------------------------------------+
//| Método que comprueba si se forman los modelos de mercado               |
//| Comprueba las condiciones de                                           | 
//| entrada (abrir posición corta, m_pattern_0)                            |
//| salida  (cerrar posición larga, m_pattern_1)                           |
//+------------------------------------------------------------------------+
int CCP_Stoch::ShortCondition()
  {
   int res=0;
//--- comprueba las condiciones para abrir una posición corta
//---- formación de un 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 una posición corta 

//--- comprueba las condiciones para cerrar una 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 del Asesor Experto basado en las señales de trading "Patrones de velas + Estocástico" con el Asistente MQL5

La clase CCP_Stoch no viene incluida en la Librería Estándar; para poder utilizarla primero hay que descargar el archivo ccp_stoch.mqh file (ver adjuntos) y guardarlo en \terminal_folder\Include\Expert\Signal\MySignals. El archivo candlepatterns.mqh debe copiarse en el mismo directorio de ccp_stoch.mqh. Tras reiniciar MetaEditor ya podrás utilizar el archivo en tu Asistente MQL5.

Para crear un robot de trading con el Asistente MQL5 que implemente esta estrategia, selecciona "Señales basadas en patrones de velas + Estocástico" -Signals based on Candlestick Patterns+Stochastic- en el segundo paso:

Fig. 1. Selecciona "Señales basadas en patrones de velas + Estocástico" -Signals based on Candlestick Patterns+Stochastic- en el Asistente MQL5

Fig. 1. Selecciona "Señales basadas en patrones de velas + Estocástico" -Signals based on Candlestick Patterns+Stochastic- en el Asistente MQL5

En los siguientes pasos hay que especificar el tipo de trailing stop y el sistema de money management -gestión del dinero-. El código del Asesor Experto se generará automáticamente. Ya para acabar, hay que compilarlo para dejarlo listo y poder iniciar las pruebas.


2.4. Resultados de backtesting

Resultados del Asesor Experto sobre los datos históricos (EURUSD H1, testing period: 1.1.2000-02.02.2011, PeriodK=33, PeriodD=37, PeriodSlow=30, MA_period=25).

Este Asesor Experto utiliza el módulo de trading con volumen fijo de 0.1 lotes (Trading Fixed Lot). No se utiliza el Trailing Stop (Trailing not used).

Fig. 2. Resultados obtenidos tras probar el Asesor Experto basado en el generador de señales de trading "Signals based on Candlestick Patterns+Stochastic"

Fig. 2. Resultados obtenidos tras probar el Asesor Experto basado en el generador de señales de trading "Signals based on Candlestick Patterns+Stochastic"

El Probador de Estrategias, disponible en el terminal cliente MetaTrader 5, nos puede ayudar a encontrar el mejor juego de parámetros de entrada.

El código del Asesor Experto generado con el Asistente MQL5 se adjunta en el archivo expert_cp_stoch.mq5.


Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/327

Demo_BitmapOffset (OBJPROP_XOFFSET y OBJPROP_YOFFSET) Demo_BitmapOffset (OBJPROP_XOFFSET y OBJPROP_YOFFSET)

Si sólo necesitas mostrar una parte de la imagen en un momento determinado, y ocultar otra, puedes utilizar la ventana en movimiento, especificando el área visible de la imagen.

Asistente MQL5 - Señales de trading basadas en los patrones de velas Estrella de la Mañana y Estrella de la Tarde Asistente MQL5 - Señales de trading basadas en los patrones de velas Estrella de la Mañana y Estrella de la Tarde

A continuación vamos a estudiar las señales de trading basadas en los patrones de velas Morning Star -Estrella de la Mañana- y Evening Star -Estrella de la Tarde- confirmadas por el indicador Relative Strength Index (RSI) -Índice de Fuerza Relativa-. El código del Asesor Experto que implementa esta estrategia puede generarse automáticamente con el Asistente MQL5.

Creación de fractales en MQL5 con un Sistema iterativo de funciones (SIF) Creación de fractales en MQL5 con un Sistema iterativo de funciones (SIF)

La biblioteca cIntBMP permite crear imágenes gráficas BMP. Nosotros vamos a utilizarla para crear conjuntos fractales autosimilares mediante un Sistema iterativo de funciones (SIF) -en inglés, Iterated Function System (IFS)-.

DRAW_NONE DRAW_NONE

El estilo de dibujo DRAW_NONE se utiliza en los casos cuando se necesita calcular y mostrar los valores del indicador en la "Ventana de Datos", pero no hace falta dibujar el gráfico.