Respuesta

Cómo hacer que sólo se negocie cuando el coral indy es de un color determinado

10 respuestas

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #110903

Estoy teniendo dificultades con el indicador adjunto. Quiero que el EA sólo hacer una orden de compra cuando el coral es verde y sólo una orden de venta cuando el coral es rojo.

Pero está haciendo órdenes de compra cuando indy es de color rojo a pesar de que no se supone que:

Cuando cargué el indy en el Asistente de EA como un indicador personalizado, tenía 4 salidas. Fui a MT4 y moví el cursor alrededor y me di cuenta de que cuando el indy era verde, entonces el precio estaba en el valor 2 campo.

Cuando estaba en rojo, estaba en el campo de valor 3.

Así que nombré esas salidas apropiadamente en la importación de Indicadores Personalizados del Asistente de EA.

Entonces, puse una regla que decía que cuando el campo de salida 2 (llamado "verde") era mayor que 0 (porque cuando no es verde es 0), sólo hacer órdenes de compra. Cuando el campo 3 es mayor que 0 (porque cuando es rojo rellena el campo 3), entonces sólo hacer órdenes de venta.

Archivo: 6 regla.jpg6 regla.jpg

Pero, ¡ay! Como pueden ver

hace una orden de compra cuando está en rojo. Me puede ayudar a saber cómo solucionar esto o lo que estoy haciendo mal?

Gracias,
Stearno

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #120944

Me imaginé que podría solucionar el problema del coral... tal vez podría averiguar el problema. Primera eliminación fue determinar si era el coral incluso causando el problema. Así que lo cambié por una Media Móvil normal. La regla decía que si el precio de cierre de HA estaba por debajo de la MA, entonces sólo órdenes de venta. Si por encima, a continuación, sólo las órdenes de compra.

. No funcionó. Así que eso significa que el problema no era con el coral ...

Segundo paso. Tal vez mi código estaba mal. Así que lo más simple, hacer código simple. Así que creé una nueva estrategia y tenía sólo sobre MACD cruz, compraría y cruz inversa vendería.

. Probado el EA y estaba comprando y vendiendo como debería.

Luego añadí a este EA que el cierre tenía que estar por debajo de una MA exponencial para vender.

y tuvo que cerrar por encima de MA para comprar (también hizo precio regular en lugar de HA, para eliminar HA de las variables)

.

Ejecuté la estrategia y todavía vendía por encima de la MA y compraba por debajo de la MA.

Conclusión: Sólo hay dos cosas constantes en este proceso de eliminación de variables: yo mismo y el software. Así que uno de ellos tiene que ser la causa. Lo más probable es que sea yo, ya que Mark es mejor programador que yo, así que por favor mirad mi código adjunto y decidme qué he hecho mal para que no funcione como me gustaría. He adjuntado mi MA original. Gracias de antemano por sus comentarios.

Se lo agradezco.

-Stearno

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 11 años #120964

Hola Stearno,

este indicador THV 4HA que utiliza en su estrategia es el mismo que THV4 Coral?
THV 4HA tiene parámetro adicional Verdadero/Falso, así que supongo que es otro indicador. Puedes publicarlo para que pueda probarlo con él?

Cuando probé su versión simple EA con sólo MACD y Media Móvil, nunca abrió vender por encima de MA o comprar por debajo de MA.
¿Podrías enviarme la estrategia que hace esto con tus pruebas?

Mark

Mark
Arquitecto de StrategyQuant

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #120976

He adjuntado el THV HA. Lo he probado con el HA indi que viene con EA Wizard, y lo he probado con datos de precios sin procesar (archivos de EA Wizard adjuntos de cada uno). También he probado sin coral y he usado una MA normal, que se adjunta también. Todos terminaron en el mismo resultado.

También estoy en mi equipo de trabajo en este momento, así que lo intenté en este PC para eliminar la causa de ser la aplicación MT4 específica en mi ordenador personal. Tuvo el mismo resultado, por lo que no es la MT4 específica que estaba usando.

Hice una estrategia de prueba para comprar/vender basado en el cruce arriba/abajo 0 de MACD. Comprar si por encima de MA y vender si por debajo de MA. Funcionó. Así que parece que hay algo mal en la forma en que codificado.

Espero sus comentarios sobre lo que está mal en mi codificación que está causando esto.

-stearno

Archivo: THV4 HA .mq4

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 11 años #120979

Hola,

He encontrado el error, el problema está en el indicador Coral. Por ejemplo para la regla corta tiene una condición iCustom(THV4 Coral, Rojo) > Cerrar.
El problema es que si el indicador Coral está subiendo (verde) no hay ningún valor para Rojo definido, y el indicador no devuelve 0 (como yo esperaría) sino que devuelve un número doble máximo.
Así que esta comparación es siempre cierta y no impide que su EA entre en operaciones cortas.

Una solución sería utilizar el valor de Coral, no Rojo/Verde, así: iCustom(THV4 Coral, Coral)
otra solución sería comprobar si THV4 Coral valor de retorno isn;t mayor que 1000 - esto significa que no tiene valor.

Mark

Mark
Arquitecto de StrategyQuant

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #120983

Bueno, me fui en el código del indicador y de su orientación de la causa raíz, he encontrado donde los búferes se establecieron en "= Empty_Value". Cambié el valor vacío a 0. Ahora funciona.

Un efecto secundario gracioso es que cuando el coral cambia de rojo a amarillo, el rojo hace una línea recta hasta cero y luego el verde hace una línea recta desde cero hasta la línea del coral. Tiene un aspecto curioso.

Pero de todos modos, eso es lo que voy a utilizar con la EA y luego utilizar el indy correcta en el gráfico.

Gracias de nuevo.

-Stearno

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #120984

Ok, ahora el EA funcionó después de hacer los cambios que me indicaste.

Luego fui y añadí algunas reglas un poco para seguir construyendo sobre este EA. El último que funciona es #5 (adjunto) y compila bien.

Pero cuando llegué a #6 y #6b donde añadí un indicador TRIX, intenté compilarlo y había errores en el MetaEditor. Volví al Asistente de EA e hice la "Prueba de Validez" y me dijo que era un EA válido. Entonces pensé que podría ser el problema que tenía antes con el número de compilación de MT4 era una versión inferior al número de compilación del MetaEditor. Así que traté de compilarlo con ambos MedaEditor y di dnot solucionar el problema.

Que hago para solucionarlo ya que el asistente de EA dice que es un EA valido, pero MT4 da advertencia al compilarlo. Incluí los archivos de registro adjuntos para que pueda ver los errores que recibí (en los archivos comprimidos).

Acabo de probar y sólo he añadido este indicador a #5. Ese indi es el que está causando los problemas. Miré el archivo mq4 y parece que lo que está causando los problemas son los parámetros externos. ¿Es esto correcto? ¿Qué tengo que hacer para que sea utilizable? Además, ¿por qué el Asistente de EA dice que es válido.

**Actualización**
Revisé el código y eliminé los elementos que causaban los errores. Ahora funciona. ¿Tal vez la comprobación de validez puede comprobar esto también? Era un poco confuso por qué EA Wizard lo permitía pero MT4 lo rechazaba.

-Stearno

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 11 años #121000

Hola,

no había ningún archivo adjunto en tu mensaje, ¿puedes decirme cuál era el error?

El Asistente de EA no puede comprobar los errores del compilador de MetaTrader, si hay errores en el indicador personalizado.
No obstante, puedo mejorar la comprobación de validez, pero le ruego que me indique dónde estaba el problema.

Mark

Mark
Arquitecto de StrategyQuant

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #121016

Marca,
Lo siento, el indicador está adjunto.

Entiendo que Validity no puede comprobar los errores de compilación de MT4. Yo estaba sugiriendo más que utiliza la misma lógica en su prueba como la MT4 tiene que produce los errores de compilación. Pero tal vez eso es demasiado difícil (demasiados errores posibles) o usted no tiene acceso en el código de software para ver incluso la lógica. De todos modos, yo quería transmitir esta situación para que usted decida lo que es mejor hacer (o no hacer) para el futuro. Arreglé mi problema ya que tengo un indicador modificado que funciona mejor en un EA.

Gracias

Stearno

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 11 años #121027

Hola,

el problema con ese indicador era probablemente que el Asistente de EA no lo reconocía correctamente, lo arreglamos en la versión más reciente.

No es posible para el Asistente de EA validar código para MetaTader, pero el código generado por EAW debería ser sin problemas.
Si tienes algún error de compilación en un EA generado por EAW, envíamelo (archivos sqw y mq4) y lo revisaremos.

Saludos cordiales,

Mark

Mark
Arquitecto de StrategyQuant

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #121030

Vale, te paso esto por si te sirve de ayuda.

Sí, estoy de acuerdo en que el indicador es complicado. Los errores se producen en cualquier EA cuando se utiliza este indicador. Así que he adjuntado un archivo sqw EA simple para mostrar los errores de compilación con este indicador. Si exportar el archivo MQ4 de Asistente de EA y compilarlo, verá los errores.

Además, he inculded el mismo indicador que yo era capaz de modificar para trabajar en EA Wizard.

0

Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)