Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
OK Gracias FMIC.
De hecho mi problema era sobre el experto que compartí en el foro. Su script es funciona bien muchas gracias por eso pero básicamente lo necesito en forma de experto que puede trabajar cerca del modo de tiempo real también.
Sus consultas originales en este hilo fueron:
Mi script le ha proporcionado un código de ejemplo y el conocimiento para responder a esas dos preguntas, de modo que ahora puede aplicar ese conocimiento a otros usos, como un EA que desee desarrollar. Todo lo que tiene que hacer es utilizar mi código para el uso de iCustom() y la prueba de los puntos altos y bajos de ZigZag y aplicarlo a su código de EA.
Sin embargo, la otra consulta, que mencionaste más tarde, de cómo utilizar los datos de ZigZag en un EA específico para las necesidades de optimización de una estrategia que ya tienes funcionando en otro EA, no ha sido planteada o descrita con suficiente detalle aquí en este hilo. Así que, en esencia, no puedo aconsejarte ni ayudarte porque no sé qué es lo que necesitas.
Si lees el artículo que acompaña a mi indicador ZigZagZug en la base de código, verás que usar el ZigZag en estrategias y EAs no es fácil debido al repintado constante, y requiere una comprensión cuidadosa de cómo funciona y cómo puede ser usado en diferentes estrategias y EAs.
En otras palabras, el matrimonio entre los datos de ZigZag y una estrategia EA es complejo y necesita ser bien definido. Por lo tanto, sin saber nada sobre tu estrategia actual o cómo se va a optimizar, no puedo ofrecerte más ayuda o consejo.
Como es comprensible que no quieras ser más comunicativo públicamente, incluso te he ofrecido la posibilidad de hacerlo en privado y sin coste alguno. Soy desarrollador de software y normalmente cobro por estos servicios.
Aparte de lo que ya te he ofrecido, no puedo hacer más ni ofrecerte más consejos sin entender la naturaleza del problema que quieres resolver.
Hola,
He conseguido corregir mi código. Había un error en la lógica de los bucles, ahora funciona bien por lo que he probado.
Aquellos que estén interesados podrían utilizarlo. Está diseñado para ser utilizado como experto y utiliza el indicador ZigZag estándar de metaquotes.
Lo que hace básicamente es encontrar los puntos altos y bajos reales en el indicador de zigzag. Se puede utilizar para encontrar puntos altos y bajos en los datos históricos también para el análisis del período y la amplitud.
No es en tiempo real. Se remonta a los últimos valores altos y bajos, por lo que dependiendo de la última duración de la tendencia, podría retroceder y corregir los valores. No lo utilices antes de hacer una prueba rápida en el probador de estrategias.
FMIC, gracias por tu esfuerzo y ayuda.
Hola aed71,
Hola aed71,
Gracias de nuevo por tus comentarios;
No soy un buen programador así que el código en sí puede no ser perfecto :-) Sin embargo, voy a tratar de explicar mi lógica;
1-) La parte del comentario podría cambiarse por "cada nueva barra"..
2-) 4-) 5-) La lógica de usar arrays grandes es que después con un nuevo proceso contaré las barras de valor cero entre máximos o entre máximos y mínimos para encontrar el periodo, la amplitud, etc. Así que necesito inicializar el array antes de usarlo y no necesito lidiar con el índice de tiempo, etc. Sólo más buffer que no es un gran problema para mi proyecto actualmente.
3-) He trazado el zigzag y el zigzagzug varias veces. en el zigzag aunque tienes altos y bajos reales al final, si pones esos valores en un array, verás que hay bajos o altos intermedios. No puedes evitarlos y aunque uses la combinación mode0 y mode1/mode2. Siempre hay entre bajos y altos. En el zigzagzug puedes ver claramente esos puntos. Además veo que hay casos en los que mode0 es cero pero mode1 o mode2 son mayores que cero, lo que son puntos incorrectos. Así que decidí poner código extra para evitar estos puntos.
Como mencioné, este puede no ser el mejor código para encontrar puntos en zigzag, sin embargo el código funciona correctamente en mis pruebas. He probado varias veces. Siempre recomiendo a los que quieran usarlo que lo prueben antes.
¿Lo has probado? No da los puntos correctos. Cuando dices que no es robusto o que es incorrecto, supongo que tus pruebas fallaron, ¿es así?
Gracias.
Gracias de nuevo por vuestros comentarios;
No soy un buen programador así que el código en sí puede no ser perfecto :-) Sin embargo, voy a tratar de explicar mi lógica;
1-) La parte del comentario podría cambiarse por "cada nueva barra"..
2-) 4-) 5-) La lógica de usar arrays grandes es que después con un nuevo proceso contaré las barras de valor cero entre máximos o entre máximos y mínimos para encontrar el periodo, la amplitud, etc. Así que necesito inicializar el array antes de usarlo y no necesito lidiar con el índice de tiempo, etc. Sólo más buffer que no es un gran problema para mi proyecto actualmente.
3-) He trazado el zigzag y el zigzagzug varias veces. en el zigzag aunque tienes altos y bajos reales al final, si pones esos valores en un array, verás que hay bajos o altos intermedios. No puedes evitarlos y aunque uses la combinación mode0 y mode1/mode2. Siempre hay entre bajos y altos. En el zigzagzug se pueden ver claramente esos puntos. Además, veo que hay casos en los que mode0 es cero pero mode1 o mode2 son mayores que cero, lo que son puntos incorrectos. Así que decidí poner código extra para evitar estos puntos.
Como mencioné, este puede no ser el mejor código para encontrar puntos en zigzag, sin embargo el código en sí mismo funciona correctamente en mis pruebas. He probado varias veces. Siempre recomiendo a los que quieran usarlo que lo prueben antes.
¿Lo has probado? No da los puntos correctos. Cuando dices que no es robusto o que es incorrecto, supongo que tus pruebas fallaron, ¿es así?
Gracias.
No entiendes nada. El código que proporcioné le muestra cómo identificar correctamente los puntos ZigZag altos/bajos; sin embargo, usted elige ignorarlo y hacerlo a su manera, lo que hace que el código sea más difícil de entender y más lento, además de utilizar más recursos de los necesarios. ¿Por qué?
Está utilizando el ZigZag incorrectamente en su ejemplo de iCustom. El ZigZag estándar de MetQuotes tiene TRES (no dos) búferes (modos o índice de línea en iCustom)
Tendrás que comparar el primer buffer (Modo 0) con los otros 2 buffers para decidir si es un Punto Alto o un Punto Bajo (por ejemplo, si tanto el Buffer 1 como el Buffer 3 tienen el mismo valor entonces es un punto ZigZag Bajo, y si tanto el Buffer 1 como el Buffer 2 son iguales entonces es un punto Alto).
Además, para entender mejor cómo funciona un ZigZag y cómo se repinta, te sugiero que juegues con mi indicador ZigZagZug. Sin embargo, en su código utilice el ZigZag de MetaQuotes, ya que es más rápido. Mi versión hace más procesamiento debido a las características adicionales y por lo tanto es más lento.
¡PS! Si el Buffer 1 (Modo = 0) tiene un valor de 0.0, pero los otros buffers tienen valores diferentes a cero, entonces son puntos de repintado más antiguos y NO puntos ZigZag.
En tu código estás usando el Buffer de Modo 0 como el Bajo y el Buffer de Modo 1 como el Alto. Esto es totalmente incorrecto.