Cómo encontrar la mayor cantidad de veces que aparece un patrón de vela dentro de 2 a 15 minutos

8

Estoy tratando de buscar averiguar cómo buscar un patrón dentro de un rango de marcos de tiempo. Obviamente, es probable que el patrón ocurra varias veces en función de los plazos, es por eso que estoy particularmente interesado en la mayor cantidad de veces que se repite.

Para explicar lo que estoy tratando de lograr más, digamos que estoy buscando un patrón de gráfico de 2 horas a 15 minutos y lo encuentro en el gráfico de 2 horas, luego profundizo en el siguiente marco de tiempo de 1 hora, y termino con dos de los patrones en el gráfico de 1 hora, continuaré hasta los 30 minutos (en ambos patrones de 1 hora) y hasta 15 minutos hasta que tenga el mayor tiempo posible.

Creo que se necesitaría un método que devuelva el siguiente período de tiempo más bajo. He podido escribir eso, ver el código a continuación. Realmente agradecería algo de ayuda.

ENUM_TIMEFRAMES findLowerTimeframe(ENUM_TIMEFRAMES timePeriod)
{
   int timeFrames[5] = {15, 20, 30, 60, 120};

   int TFIndex=ArrayBsearch(timeFrames, (int)timePeriod);

   return((ENUM_TIMEFRAMES) timeFrames[TFIndex - 1]);
}

EDITAR

No agregué el patrón de vela específico porque creo que no es la parte más importante de mi problema. El quid de la pregunta es cómo buscar un patrón en varios marcos de tiempo consecutivos para encontrar la mayor cantidad de veces que ocurre dentro del rango de veces.

Diez de diez
fuente
No entiendo lo que quieres lograr. ¿Es MQL4 o MQL5 (ha agregado ambas etiquetas)? En MQL5, PERIOD_H1 (por ejemplo) no se convertirá a 60, por lo que su conversión no funcionará. En MQL4 lo hará, pero los tfs de 20 y 120 minutos son gráficos personalizados
Daniel Kniaz
@DanielKniaz bien, quiero una solución en MQL5. He editado las etiquetas.
TenOutOfTen

Respuestas:

0
const ENUM_TIMEFRAMES DEFAULT_TIMEFRAMES[5] = {PERIOD_M15, PERIOD_M20, PERIOD_M30, PERIOD_H1, PERIOD_H2};
ENUM_TIMEFRAMES findLowerTimeframe(ENUM_TIMEFRAMES timePeriod)
  {
   int TFIndex=ArrayBsearch(DEFAULT_TIMEFRAMES,timePeriod);
   return(TFIndex>0 ? timeFrames[TFIndex - 1] : PERIOD_CURRENT);
  }
Daniel Kniaz
fuente
Gracias. ¿Cómo puedo usar esto para buscar la mayor cantidad de veces que se produce un patrón de vela de 2 horas a 15 minutos como expliqué anteriormente?
TenOutOfTen
1
No tengo idea. muestra qué patrón intentaste buscar, tanto en palabras como en texto
Daniel Kniaz
Estoy interesado en buscar una vela bajista con la mecha superior e inferior similar / igual en longitud, seguida de una barra alcista. Quiero buscar en este patrón en todo momento desde 2 horas hasta 15 minutos y encontrar dónde aparece el patrón la mayor cantidad de veces dentro de los plazos.
TenOutOfTen