English Русский 中文 Deutsch 日本語 Português
preview
Características del Wizard MQL5 que debe conocer (Parte 52): Accelerator Oscillator (AC)

Características del Wizard MQL5 que debe conocer (Parte 52): Accelerator Oscillator (AC)

MetaTrader 5Sistemas comerciales |
233 0
Stephen Njuki
Stephen Njuki

Introducción

El Accelerator Oscillator es otro indicador de Bill Williams diseñado para realizar un seguimiento del impulso y, aunque es común, ya que se deriva de otro oscilador que tratamos en un artículo anterior, analizamos cómo se pueden utilizar o incluso combinar los distintos patrones que muestra para obtener una ventaja. Este indicador tiene como objetivo específico realizar un seguimiento de la aceleración o desaceleración del impulso, lo que puede utilizarse para proporcionar señales de posibles entradas y salidas de operaciones. La aceleración es diferente de la velocidad.

La diferencia entre ambos en los mercados financieros es inevitablemente sutil, especialmente para los operadores que operan manualmente desde la terminal MetaTrader. Mientras que la velocidad indica la tasa de variación del precio, la aceleración implica, correctamente, la tasa de variación de la velocidad. Para cuantificar adecuadamente cada uno por separado, utilizamos diferentes indicadores. En cuanto a la velocidad, los indicadores más utilizados son: tasa de cambio (Rate of Change, ROC), MACD, RSI y, probablemente, la media móvil exponencial simple. Para la aceleración, normalmente utilizamos bandas de aceleración, el histograma MACD, el oscilador estocástico y nuestra función para este artículo, el Accelerator Oscillator. Este oscilador, como se ha mencionado, se deriva del oscilador Awesome que analizamos en un artículo anterior y, para recapitular, su fórmula era:

 

Sin embargo, para el Accelerator Oscillator es:

Donde, como antes:

  • AO es la lectura actual del oscilador Awesome (Awesome Oscillator).

  • SMA es la media móvil simple (Simple Moving Average).

Los componentes clave de este oscilador son la línea cero, que representa el punto de equilibrio del impulso acelerador, mientras que cabría esperar que los valores positivos de AC apuntaran a un impulso alcista y los valores negativos a un impulso bajista. La indicación de color también sigue de cerca lo que vimos con los osciladores anteriores de Bill Williams, donde las barras verdes por encima o por debajo de la línea cero son una indicación del aumento del impulso para las configuraciones alcistas o bajistas, respectivamente, mientras que las barras rojas a ambos lados de la línea cero indicarían un impulso en declive.

El AO es útil para la detección temprana de cambios de tendencia, ya que se centra en los cambios de impulso antes de que se produzcan reversiones en los precios. También suele ser versátil en distintos mercados, como el de divisas, acciones y materias primas, además de ser relativamente fácil de interpretar gracias a su conocida representación visual en forma de histograma. En resumen, los casos prácticos consisten en identificar señales de entrada, donde, en principio, la compra se realiza cuando el AC está por encima de la línea cero y la venta, cuando está por debajo; además de la confirmación de la tendencia, donde el AC puede funcionar en conjunto con otros indicadores, como el oscilador Awesome, ya mencionado, o incluso con medias móviles, para confirmar las tendencias del mercado.

Sin embargo, como muchos indicadores, tiene sus limitaciones. Además de requerir a menudo indicadores complementarios para confirmar sus señales, como indicadores de tendencia y volumen, tiende a quedarse muy rezagado en mercados laterales o volátiles. Además, AO suele ser sensible a las fluctuaciones de precios a corto plazo, lo que lo hace potencialmente propenso a generar muchas señales falsas. Y, por último, sus cruces de línea cero suelen ser menos fiables que los de su homólogo, el Awesome Oscillator, por lo que sería conveniente compararlo y contrastarlo con el AO antes de profundizar en los patrones de este último.

Dado que ya hemos cubierto las definiciones básicas de cada fórmula, pasaremos directamente a su finalidad e interpretación respectivas. El Awesome Oscillator (AO) muestra el impulso general del mercado y ayuda a identificar tendencias y reversiones, mientras que el AC se basa en el AO para ayudar a mostrar la tasa de cambio del impulso y evaluar mejor si este está aumentando o disminuyendo. Si AC está por encima de cero y en alza, el impulso se está acelerando; si está por debajo de cero y disminuyendo, entonces el impulso está acelerando la tendencia bajista.

La línea cero también es significativa para ambos osciladores, ya que, al igual que con el AO, un cruce es un indicio importante de cambio de impulso, en el que cualquier movimiento hacia arriba es alcista, mientras que hacia abajo es bajista. Sin embargo, en el caso de AC, la línea cero suele ser menos importante, y se presta más atención a la dirección de las barras del histograma, es decir, si están subiendo o bajando. Dado que no es un indicador tan potente como el AO en sí mismo, a menudo se aplica mejor para identificar histogramas positivos pero en descenso, lo que indica una desaceleración, o barras negativas pero en ascenso, lo que indica una reducción de la presión bajista. 

Visualmente, ambos se representan a menudo como histogramas, siendo el AO generalmente más suave en sus movimientos, mientras que el AC, debido a su sensibilidad a la aceleración o desaceleración, es más irregular, con fluctuaciones. Con este sentimiento general favorable al AO mencionado, también vale la pena señalar que, de los dos osciladores, el AO suele ser el más rezagado. Esto se debe a que se basa en medias a largo plazo (SMA-5 y SMA-34) que suavizan el ruido, pero hacen que el AO sea menos sensible a los cambios a corto plazo. Por otro lado, el AC es más sensible y refleja los cambios de impulso antes debido a que se centra en la tasa de cambio del AO.

Esto conduce entonces a la idoneidad de cada uno. Si consideramos primero el AO, suele ser eficaz para identificar tendencias, ya que se basa en los cruces de la línea cero; para identificar reversiones, se suele utilizar su señal de doble pico y, para el análisis del impulso a largo plazo, el AO suele ser ideal para los operadores que buscan una visión más amplia del impulso del mercado. Por otro lado, el AC está orientado a: detectar la aceleración del impulso, lo que puede indicar una entrada/salida más temprana que el AO; identificar señales a corto plazo que a menudo sirven para confirmar las señales de un indicador secundario a más largo plazo como el AO, y una alta sensibilidad a la acción del precio que podría resultar útil para algunos operadores que utilizan estrategias como el scalping.

En resumen, la comparación entre AO y AC muestra que AO es mejor para comprender las tendencias generales e identificar los cambios de tendencia, pero es más lento a la hora de reaccionar; mientras que AC ofrece señales más rápidas y ágiles al centrarse en la aceleración del impulso, lo que lo hace ideal para los operadores que necesitan tomar decisiones rápidas. Y como ya se ha argumentado, ambos pueden usarse en conjunto con AO para identificar las tendencias y AC para cronometrar las entradas y salidas en función del cambio de impulso.

Con estas aclaraciones, pasemos a los patrones de AC. Estamos considerando un total de 8 patrones y, como siempre, primero probamos cada patrón individualmente y, hacia el final del artículo, analizamos cómo una combinación de algunos o todos los patrones podría marcar la diferencia en el rendimiento del Asesor Experto en sus ventanas de prueba limitadas.

Para este artículo, estamos analizando el par GBPUSD en un marco temporal de 4 horas para el año 2023. Los resultados de las pruebas presentados para cada patrón proceden de ejecuciones de optimización y no se han validado de forma cruzada para los argumentos que ya se han presentado en artículos anteriores. Sin embargo, para los nuevos lectores que puedan sentir curiosidad, pueden consultarlos en los artículos anteriores sobre patrones indicadores. Además, el código que se adjunta al final está pensado para ser ensamblado mediante el Asistente MQL5, y hay guías aquí y aquí sobre cómo hacerlo.


Cruce de línea cero

Nuestro primer patrón, el patrón-0, es básico y se centra en la línea cero. Su señal alcista se produce cuando la AC cruza la línea cero de abajo hacia arriba, lo que sugiere un cambio de desaceleración a aceleración del impulso alcista. Del mismo modo, cuando el AC cruza la línea cero desde arriba para situarse por debajo de ella, esto indica un cambio de desaceleración a aceleración del impulso bajista. Implementamos este patrón en MQL5 de la siguiente manera:

//+------------------------------------------------------------------+
//| Check for Pattern 0.                                             |
//+------------------------------------------------------------------+
bool CSignalAccelerator::IsPattern_0(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && AC(X() + 1) < 0.0 && AC(X()) > 0.0)
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && AC(X() + 1) > 0.0 && AC(X()) < 0.0)
   {  return(true);
   }
   return(false);
}

Para este artículo, todas nuestras pruebas se han realizado con el par GBPUSD en un marco temporal de una hora para el año 2023. Para este artículo, todas nuestras pruebas se han realizado con el par GBPUSD en un marco temporal de una hora para el año 2023. Las pruebas favorables realizadas con ajustes optimizados nos proporcionan el siguiente informe:

r0

Los puntos clave a tener en cuenta con el patrón 0 son que, como ya se ha destacado en la introducción, no es un indicador independiente. Se combina mejor con otros indicadores para el análisis de la acción del precio. Además, incluso aunque esté emparejado con otro indicador, la confirmación siempre es clave. Siempre es mejor escalonar la recopilación de señales de entrada/salida, lo que significa que si obtenemos un cruce en la barra actual, entonces la señal del indicador secundario se lee mejor en las barras futuras subsiguientes. Es probable que aparezcan señales falsas, como ocurre con la mayoría de los indicadores; lo clave a tener en cuenta es si los mercados están agitados o se mueven mucho. Los mercados volátiles tienden a estar plagados de señales falsas de este patrón. Sin embargo, si las condiciones del mercado son favorables, los operadores pueden esperar sacar provecho de una racha ganadora, ya que suele ser más fiable en ese caso.



Barras verdes consecutivas por encima de cero

Nuestro segundo patrón, el patrón 1, se basa en el recuento de barras de color por encima o por debajo de la línea cero. Si AC muestra dos o más barras verdes consecutivas por encima de cero, esto puede interpretarse como una fuerte señal alcista, lo que augura la continuación de una tendencia alcista. Por otro lado, si aparece más de una barra por debajo de la línea cero, esto puede interpretarse como un repunte alcista en el impulso bajista y también como una posible continuación de la tendencia bajista. Implementamos esto en MQL5 de la siguiente manera:

//+------------------------------------------------------------------+
//| Check for Pattern 1.                                             |
//+------------------------------------------------------------------+
bool CSignalAccelerator::IsPattern_1(ENUM_POSITION_TYPE T)
{  int _i = X();
   if(T == POSITION_TYPE_BUY && UpperColor(_i) == clrGreen && UpperColor(_i + 1) == clrGreen && UpperColor(_i + 2) == clrGreen)
   {  return(true);               
   }
   else if(T == POSITION_TYPE_SELL && LowerColor(_i) == clrRed && LowerColor(_i + 1) == clrRed && LowerColor(_i + 2) == clrRed)
   {  return(true);               
   }
   return(false);
}

Esta señal requiere observar la magnitud de las barras, ya que su tamaño, independientemente de si aumenta o no, indica la acumulación de la tendencia predominante, es decir, si está disminuyendo o aumentando. Otras consideraciones clave para el patrón 1 son la confirmación, al igual que en el anterior, y su uso preferiblemente en mercados con tendencia. Las pruebas que utilizan estrictamente este patrón asignando el parámetro de entrada utilizado por el patrón a 2 nos dan el siguiente informe:

r1



Divergencia entre AC y precio

El patrón 2 aprovecha la divergencia, indicando una señal alcista si el precio forma mínimos más bajos mientras que el AC forma mínimos más altos. Por otro lado, cuando el precio forma máximos más altos y el AC indica máximos más bajos, esto suele interpretarse como un presagio de una reversión a la baja. Implementamos esto en MQL5 de la siguiente manera:

//+------------------------------------------------------------------+
//| Check for Pattern 2.                                             |
//+------------------------------------------------------------------+
bool CSignalAccelerator::IsPattern_2(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && Low(X() + 3) > Low(X()) && AC(X() + 3) < AC(X()))
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && High(X() + 3) < High(X()) && AC(X() + 3) > AC(X()))
   {  return(true);
   }
   return(false);
}

Este patrón sirve como una señal significativa de análisis técnico con potencial para identificar reversiones. La divergencia se produce, en esencia, cuando la acción del precio y el AC siguen trayectorias diferentes, lo que a menudo (por regla general) implica que la acción del precio mostrada tiene debilidades subyacentes y, por lo tanto, es inminente una reversión. Al realizar la prueba solo con este patrón, cuyo índice para los patrones utilizados es 4, obtenemos el siguiente informe:

r2

Como ya se ha mencionado con los patrones 0 y 1, hay que acompañar esto con una confirmación, estudiar a qué condiciones del mercado se adapta mejor, tener cuidado con las señales falsas inclinándose más por los marcos temporales más amplios que por los más reducidos, y gestionar adecuadamente el riesgo; todos estos son factores a los que hay que prestar atención.



Señal de inversión cercana a cero

El patrón 3, cuyo índice de uso individual (índice asignado al parámetro de entrada «patterns-used») es 8, es la inversión del AC cuando se acerca a su línea cero. Con este patrón, una reversión alcista se produce cuando el AC pasa de rojo a verde cuando está por encima pero cerca del límite cero, mientras que una reversión bajista es, como es de esperar, un cambio de verde a rojo cuando está por debajo pero cerca de la línea cero. La cuantificación de cuán cerca está AC del cero es sin duda una cuestión que requiere un ajuste preciso. 

Las razones por las que esto podría ser crucial son obvias, pero quizá merezca la pena mencionarlas. Es importante identificar y «separar» las señales fuertes de las débiles.

Esto se debe a que la magnitud suele actuar como indicador de la fuerza del impulso, y los valores más altos cerca de la línea cero suelen indicar reversiones significativas (que, en realidad, son continuaciones de la tendencia anterior, dada la gran distancia con respecto al cero). Por lo tanto, para filtrar las señales falsas, se utiliza un valor umbral considerable que filtra las numerosas reversiones o patrones en forma de U que puede indicar el AO. Este dimensionamiento adecuado del gap cero AO también puede servir para ajustar con precisión las entradas y salidas si se toma como indicador del sentimiento del mercado, ya que su distancia puede utilizarse como guía para la distancia del nivel de stop loss. También resulta informativo en algunos análisis comparativos en los que es importante identificar retrocesos estándar de reversiones adecuadas, por ejemplo, al realizar pruebas retrospectivas.

La cuantificación de esta brecha puede realizarse probablemente de infinitas maneras. Para nuestros propósitos, nos centraremos solo en algunos que están más estrechamente relacionados con el propio oscilador AO. En primer lugar estarían los valores indicadores absolutos, donde, por ejemplo, dependiendo del valor negociado, este valor podría ser 0.005 si el tamaño del punto es 1e-5 o 0.5 si el valor negociado es un cruce de YEN. Con este umbral, las únicas inversiones de AO que se tendrán en cuenta serán aquellas cuyo valor de magnitud desde cero sea superior al valor absoluto.

Otra métrica de cuantificación podría ser la magnitud relativa, en la que los valores actuales del AO se comparan con los promedios recientes o históricos del AO. Este enfoque puede considerarse como un umbral adaptable que cambia en función de las condiciones del mercado. Se puede aplicar un multiplicador k definido por el usuario a los promedios históricos de AO o a los valores recientes para ajustar con precisión el valor umbral. Otro umbral posible es el umbral basado en la desviación estándar. Esto también es un poco formulista, como se muestra a continuación:

Donde:

  • Mu (μ) es malo.
  • Sigma (σ) es la desviación estándar.
  • "n" es un parámetro optimizado por el usuario.

Las magnitudes específicas en el tiempo son otra forma de cuantificar la magnitud del límite cero. Con este enfoque, se puede asignar un valor absoluto para los periodos volátiles o de acontecimientos noticiosos y se puede utilizar un umbral alternativo cuando los mercados están más tranquilos. En principio, funciona como el umbral de magnitud relativa mencionado anteriormente, pero está más centrado en el tiempo.

Estas son algunas de las posibles formas en que se podría establecer este umbral del AO desde la línea cero. Sin embargo, al hacerlo, puede ser importante tener en cuenta algunos escollos que podrían entorpecer este proceso y dar lugar a resultados no deseados. Sin entrar en demasiados detalles, estos son: establecer umbrales demasiado específicos, ignorar el contexto del mercado, no tener en cuenta la naturaleza rezagada del oscilador AO, malinterpretar los valores pequeños y el ruido del mercado.

A los efectos de este artículo, no cuantificamos cuán cerca debe estar el AC del límite cero, ya que simplemente buscaremos cualquier giro en U que esté cerca del cero. Implementamos esto en MQL5 de la siguiente manera:

//+------------------------------------------------------------------+
//| Check for Pattern 3.                                             |
//+------------------------------------------------------------------+
bool CSignalAccelerator::IsPattern_3(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && AC(X() + 2) > AC(X() + 1) && AC(X() + 1) > 0.0 && AC(X() + 1) < AC(X()))
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && AC(X() + 2) < AC(X() + 1) && AC(X() + 1) < 0.0 && AC(X() + 1) > AC(X()))
   {  return(true);
   }
   return(false);
}

Las pruebas individuales con solo este patrón, con el parámetro de entrada para los patrones utilizados asignado a 8, nos dan los siguientes resultados:

r3

El patrón 3 no es, en esencia, un nuevo patrón de formación de señales ni un patrón de reversión, sino más bien un patrón de continuación de la tendencia. Las pautas sobre su uso no difieren mucho de lo que hemos compartido anteriormente.



Aumentar el número de barras consecutivas del mismo color

Nuestro patrón 4 es un poco amplio, ya que pretende aprovechar el aumento del tamaño de las barras AC que son de un color específico. Cuando el AC muestra un número creciente de barras verdes (independientemente de si están por encima o por debajo de la línea cero), esto indica una aceleración del impulso alcista. Del mismo modo, si se muestra un número creciente de barras rojas independientemente de su posición relativa al cero, esto presagia una aceleración del impulso bajista. 

Dado que este patrón es, por lo tanto, un poco demasiado amplio, lo estamos implementando en un sentido ligeramente más restringido, considerando solo el aumento del recuento de barras de color cuando se encuentra en el lado opuesto al impulso indicado. Por lo tanto, para la señal alcista, tendríamos un número creciente de barras verdes por debajo de la línea cero (a menudo marcadas por barras más cortas). Del mismo modo, para la señal bajista, tendríamos un número creciente de barras rojas cada vez más cortas por encima de la línea cero como indicación de un aumento del impulso bajista. Implementamos esto en MQL5 de la siguiente manera:

//+------------------------------------------------------------------+
//| Check for Pattern 4.                                             |
//+------------------------------------------------------------------+
bool CSignalAccelerator::IsPattern_4(ENUM_POSITION_TYPE T)
{  int _i = X();
   if(T == POSITION_TYPE_BUY && LowerColor(_i) == clrGreen && LowerColor(_i + 1) == clrGreen && LowerColor(_i + 2) == clrGreen)
   {  return(true);               
   }
   else if(T == POSITION_TYPE_SELL && UpperColor(_i) == clrRed && UpperColor(_i + 1) == clrRed && UpperColor(_i + 2) == clrRed)
   {  return(true);               
   }
   return(false);
}

Una consideración clave de este patrón es que puede solaparse bastante con el patrón de divergencia que ya hemos visto anteriormente. Si se están formando mínimos más altos de barras verdes por debajo de la línea cero y la acción del precio también está indicando mínimos más bajos o que se están aplanando, entonces eso podría servir como confirmación adicional de una señal alcista con una posible divergencia del precio al alza. Por el contrario, máximos más bajos de las barras rojas por encima de la línea cero con una acción del precio que muestra máximos más altos o que se aplanan podrían indicar que se avecina un retroceso del precio. Al igual que con la señal alcista, esto requeriría poca o ninguna confirmación adicional. Los resultados de la prueba para este patrón solo, cuando asignamos el parámetro de entrada utilizado a 16, nos presentan el siguiente informe:

r4

Como siempre, estas pruebas indicadas tienen como objetivo mostrar el «potencial» del patrón, no los resultados futuros en sí mismos. Provienen de los ajustes de entrada de un breve periodo de optimización, y estos ajustes no se han adelantado ni validado de forma cruzada. Como siempre, se invita al lector a que lo haga con la seguridad comercial que desee y con los datos de su broker.



AC: Picos y valles

Nuestro sexto patrón, el patrón 5, combina la acción del oscilador AC con los patrones de acción del precio, haciendo hincapié en los puntos fractales. Una señal alcista máxima se define cuando un pico de precio va seguido de un aumento en el tamaño de la barra verde del oscilador AC, cuando el oscilador está por encima de la línea cero. Esto sugiere una continuación del impulso alcista. Del mismo modo, una señal bajista de mínimo se produce cuando un fractal de mínimo en la acción del precio va seguido de una barra AC roja más baja que estaría por debajo de la línea cero. Esto también sugeriría una continuación del impulso bajista. Codificamos esto en MQL5 de la siguiente manera:

//+------------------------------------------------------------------+
//| Check for Pattern 5.                                             |
//+------------------------------------------------------------------+
bool CSignalAccelerator::IsPattern_5(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && Close(X() + 2) < Close(X() + 1) && Close(X() + 1) > Close(X()) && UpperColor(X()) == clrGreen && AC(X()) > 0.0)
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && Close(X() + 2) > Close(X() + 1) && Close(X() + 1) < Close(X()) && LowerColor(X()) == clrRed && AC(X()) < 0.0)
   {  return(true);
   }
   return(false);
}

Cabe señalar que este patrón debe manejarse con cierta precaución, ya que un punto máximo en el AC o incluso en el precio puede indicar una posible reversión, del mismo modo que un fractal o AC mínimo también puede apuntar a una reversión alcista. La interpretación del patrón 5 también puede ser un poco subjetiva, dado que hay que tener en cuenta algunas métricas para evaluar o sopesar adecuadamente la magnitud de cada valor de señal. Estos incluyen la altura y profundidad de los picos y valles, su frecuencia y el valor de tick de su divergencia. 

Los picos más altos y los valles más profundos suelen indicar un impulso más fuerte, por lo que, para modificar la implementación del código anterior, podríamos añadir un umbral puntual o un múltiplo del ATR actual al calcular el tamaño del umbral, de modo que, como filtro, solo los picos/valles cuyo movimiento oscilante sea superior al umbral se consideren señales de patrón. Además, la métrica de frecuencia, cuyo recuento en este caso se relaciona inversamente con la intensidad de la señal, podría contar como denominador del tamaño de la oscilación entre el pico y el valle. Esto se debe a que, por lo general, cuanto más frecuentes son los picos y las caídas, más volátiles son los mercados. Dado que, por regla general, los picos siempre siguen a los valles y viceversa, una forma eficaz de contarlos sería ver cuántos hay en un periodo de tiempo determinado, que podría ser una semana o un día, dependiendo del marco temporal que se utilice.

Por último, la divergencia podría prestarse al patrón 5, ya que aquí se tienen en cuenta los picos y los valles, y es posible que estos no se alineen tal y como se define en el patrón, sino que formen, por ejemplo, un par valle-pico, lo que podría indicar una divergencia. Al realizar pruebas solo con este patrón, asignando el patrón de entrada para mapas utilizado como 32, obtenemos los siguientes resultados de la prueba:

r5



Cambio de color tras una fuerte tendencia

Nuestro séptimo patrón, el patrón 6, se deriva de los cambios de color en el oscilador AC. Y dado que este cambio es significativo dependiendo de dónde se haya producido en relación con la línea cero, podría ser demasiado amplio, como vimos con el patrón 4. Por lo tanto, restringimos nuestras definiciones de cada señal a un lado concreto de la línea cero. El agotamiento del impulso alcista se traduciría, por lo tanto, en un cambio en las barras AC por encima de la línea cero, que pasarían de color verde a color rojo, lo que indicaría una señal bajista. Del mismo modo, un cambio de barras rojas a barras verdes cuando se encuentran por debajo de la línea cero sugeriría el agotamiento del impulso bajista y, por lo tanto, indicaría que se avecina un retroceso alcista. Implementamos esto de la siguiente manera en MQL5:

//+------------------------------------------------------------------+
//| Check for Pattern 6.                                             |
//+------------------------------------------------------------------+
bool CSignalAccelerator::IsPattern_6(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && ((UpperColor(X() + 1) == clrRed && UpperColor(X()) == clrGreen) || (LowerColor(X() + 1) == clrRed && LowerColor(X()) == clrGreen)))
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && ((UpperColor(X() + 1) == clrGreen && UpperColor(X()) == clrRed) || (LowerColor(X() + 1) == clrGreen && LowerColor(X()) == clrRed)))
   {  return(true);
   }
   return(false);
}

Este cambio de color se produce tras una fuerte tendencia, por lo que es necesario comprobarlo además del cambio de color para que se registre una señal. Además de ser una señal de entrada, tal y como la estamos aplicando en este caso, también puede servir como punto de toma de ganancias, dado que estamos revirtiendo tras una tendencia prolongada. De hecho, esta idea de la toma de ganancias pone de relieve que esta señal no es necesariamente tan fuerte o fiable por sí sola, ya que siempre se produce al final o, más probablemente, en medio de una tendencia fuerte. Una prueba con solo este patrón y la entrada para patrones asignada a 64 nos da el siguiente informe:

r6



AC plano cerca de niveles extremos

Nuestro octavo y último patrón, el patrón 7, se obtiene observando el oscilador de AC cuando se encuentra cerca de sus niveles extremos. Con este patrón, se presenta una oportunidad alcista si el AC se estabiliza cerca de un mínimo significativo, con barras mayoritariamente rojas, y luego comienza a formar barras verdes. Por el contrario, una oportunidad bajista se da cuando el AC se estabiliza cerca de un máximo significativo, con muchas barras verdes, y luego aparecen algunas barras rojas. Como era de esperar en este escenario, AC tendría que estar por debajo de la línea cero para la señal alcista, mientras que para la bajista tendría que estar por encima de la línea cero. Codificamos el patrón 7 de la siguiente manera en MQL5:

//+------------------------------------------------------------------+
//| Check for Pattern 7.                                             |
//+------------------------------------------------------------------+
bool CSignalAccelerator::IsPattern_7(ENUM_POSITION_TYPE T)
{  if(T == POSITION_TYPE_BUY && LowerColor(X() + 3) == clrRed && LowerColor(X() + 2) == clrRed && LowerColor(X() + 1) == clrRed && LowerColor(X()) == clrGreen)
   {  return(true);
   }
   else if(T == POSITION_TYPE_SELL && UpperColor(X() + 3) == clrGreen && UpperColor(X() + 2) == clrGreen && UpperColor(X() + 1) == clrGreen && UpperColor(X()) == clrRed)
   {  return(true);
   }
   return(false);
}

El aplanamiento del AC, especialmente en un nivel umbral concreto, puede ser una señal importante de que la tendencia predominante está disminuyendo. Nuestra implementación anterior no incluye un umbral que el oscilador de AC deba alcanzar antes de que se pueda considerar este patrón; sin embargo, sería una adición significativa si el lector desea que este patrón sea más incisivo. Las pruebas realizadas con el parámetro de entrada de mapas asignados a 128 nos dan el siguiente informe:

r7



Todos los patrones

Si realizamos una optimización que busca establecer la combinación ideal de patrones, optimizando principalmente el parámetro de entrada de los mapas utilizados de 0 a 255, algunos de nuestros resultados favorables nos presentan el siguiente informe:

rll



Conclusión

Hemos examinado otro indicador oscilador de Bill Williams que, aunque muy similar al oscilador Awesome que analizamos en un artículo reciente, está más orientado a seguir el impulso acelerado del precio y no solo sus cambios. Además, se realizaron algunos cambios menores en la forma en que se determinaban los colores mediante la señal personalizada a partir de lo que se utilizaba en la señal del oscilador Awesome. Estos se pueden ver en el código fuente adjunto a continuación. Ahora esperamos concluir esta serie de indicadores, por el momento, con un par de artículos más que publicaremos próximamente.

Nombre del archivo Descripción
SignalWZ_52.mqh Archivo de clase de señal personalizada.
wz_52.mq5 Asesor Experto ensamblado por el Asistente MQL5 (MQL5 Wizard) cuyo encabezado sirve para mostrar los archivos utilizados.

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/articles/16781

Archivos adjuntos |
SignalWZ_52.mqh (17.46 KB)
wz_52.mq5 (7.65 KB)
Kit de herramientas de negociación MQL5 (Parte 6): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente completada Kit de herramientas de negociación MQL5 (Parte 6): Ampliación de la libreria EX5 de gestión del historial con las funciones de última orden pendiente completada
Aprenda a crear un módulo EX5 de funciones exportables que consultan y guardan datos de forma fluida para el pedido pendiente completado más recientemente. En esta guía paso a paso, mejoraremos la librería History Management EX5 desarrollando funciones específicas y compartimentadas para recuperar las propiedades esenciales de la última orden pendiente completada. Estas propiedades incluyen el tipo de orden, el tiempo de configuración, el tiempo de ejecución, el tipo de ejecución y otros detalles críticos necesarios para la gestión y el análisis eficaces del historial de operaciones de las órdenes pendientes.
Cambiando a MQL5 Algo Forge (Parte 4): Trabajamos con versiones y lanzamientos Cambiando a MQL5 Algo Forge (Parte 4): Trabajamos con versiones y lanzamientos
Continuaremos el desarrollo del proyecto Simple Candles y Adwizard describiendo los matices del uso del sistema de control de versiones y el repositorio MQL5 Algo Forge.
Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 7): Signal Pulse EA Desarrollo de un kit de herramientas para el análisis de la acción del precio (Parte 7): Signal Pulse EA
Aproveche todo el potencial del análisis multitemporal con «Signal Pulse», un asesor experto MQL5 que integra las bandas de Bollinger y el oscilador estocástico para ofrecer señales de trading precisas y de alta probabilidad. Descubra cómo implementar esta estrategia y visualizar eficazmente las oportunidades de compra y venta utilizando flechas personalizadas. Ideal para operadores que buscan mejorar su capacidad de juicio mediante análisis automatizados en múltiples marcos temporales.
Dominando los registros (Parte 2): Formateo de registros Dominando los registros (Parte 2): Formateo de registros
En este artículo, exploraremos cómo crear y aplicar formateadores de registros en la biblioteca. Veremos todo, desde la estructura básica de un formateador hasta ejemplos de implementación práctica. Al finalizar, tendrás el conocimiento necesario para formatear registros dentro de la biblioteca y comprenderás cómo funciona todo detrás de escena.