Problemas indicador ZigZag que dibuje las tendencias

 

Hola!

Soy nuevo por aquí y bastante nuevo en el mundo de la programación. En concreto, con mql4.

Estaba buscando la manera de practicar mis progresos con un indicador personalizado de mql4, que me marcara de alguna los zigzag del mercado, teniendo como referencia los puntos de fractales.

Todo ello no demasiado complicado. El problema surge cuando aparecen varios fractales en la misma dirección, uno a continuación de otro, y quiero descartar el menos importante de ellos. En el caso de fractales arriba (digamos "cimas")‌, descartar el menos alto. En el caso de los fractales abajo, descartaría el menos bajo de los dos.

Había pensado llevar varios buffers y uno dejarlo con datos probisionales y no descartar esos datos mientras se siguiera dando el mismo patrón. Por ejemplo, que el anterior fractal hubiera sido una "cima", y el actual tambien lo sea. Solo sería descartado una vez se diera un fractal en la direccion contraria, es decir, un "valle", lo que me llevaría a tomar el dato más reciente. Y digo reciente, porque el programa irá corriendo de la vela más reciente en el tiempo hacia atrás.

Pero encuentro ciertos problemas para hacerlo de esta manera. Y hay algo que se me escapa.

¿Existe alguna función que me coja un dato determinado de un array y me lo elimine? Quiero decir, por ejemplo, el valor de "TendenciaBuffer[i]" lo quiero eliminar porque era un valle, pero luego despues me ha aparecido otro valle en "TendenciaBuffer[j] y quiero descartar el dato anterior, porque si no lo descarto, me unirá todos esos puntos en varias lineas bajistas, cuando solo quiero unir el primero con el ultimo.

Gracias de antemano por todo.‌

captura

 
luistercer0:

Hola!

Soy nuevo por aquí y bastante nuevo en el mundo de la programación. En concreto, con mql4.

Estaba buscando la manera de practicar mis progresos con un indicador personalizado de mql4, que me marcara de alguna los zigzag del mercado, teniendo como referencia los puntos de fractales.

Todo ello no demasiado complicado. El problema surge cuando aparecen varios fractales en la misma dirección, uno a continuación de otro, y quiero descartar el menos importante de ellos. En el caso de fractales arriba (digamos "cimas")‌, descartar el menos alto. En el caso de los fractales abajo, descartaría el menos bajo de los dos.

Había pensado llevar varios buffers y uno dejarlo con datos probisionales y no descartar esos datos mientras se siguiera dando el mismo patrón. Por ejemplo, que el anterior fractal hubiera sido una "cima", y el actual tambien lo sea. Solo sería descartado una vez se diera un fractal en la direccion contraria, es decir, un "valle", lo que me llevaría a tomar el dato más reciente. Y digo reciente, porque el programa irá corriendo de la vela más reciente en el tiempo hacia atrás.

Pero encuentro ciertos problemas para hacerlo de esta manera. Y hay algo que se me escapa.

¿Existe alguna función que me coja un dato determinado de un array y me lo elimine? Quiero decir, por ejemplo, el valor de "TendenciaBuffer[i]" lo quiero eliminar porque era un valle, pero luego despues me ha aparecido otro valle en "TendenciaBuffer[j] y quiero descartar el dato anterior, porque si no lo descarto, me unirá todos esos puntos en varias lineas bajistas, cuando solo quiero unir el primero con el ultimo.

Gracias de antemano por todo.‌


Si buscas en CodeBase encontraras ese tipo de indicador y su código.

S‌aludos!

 
Miguel Angel Vico Alba:


Si buscas en CodeBase encontraras ese tipo de indicador y su código.

S‌aludos!

Gracias, Miguel Angel!

He encontrado uno que hace exactamente lo que buscaba. Ahora sólo falta destriparlo y ver cómo funciona!!

VininI_FractalsTrend.mq4

ЗигЗаг по фракталам
ЗигЗаг по фракталам
  • votos: 4
  • 2011.04.27
  • Victor Nikolaev
  • www.mql5.com
ЗигЗаг по фракталам
 
luistercer0:

Gracias, Miguel Angel!

He encontrado uno que hace exactamente lo que buscaba. Ahora sólo falta destriparlo y ver cómo funciona!!

VininI_FractalsTrend.mq4


Me alegra que hayas encontrado lo que buscabas. ;)

S‌aludos!

Razón de la queja: