Respuesta

Ayuda sobre la estrategia de la EMA

7 respuestas

Daviden1

Abonado, bbp_participant, comunidad, 14 respuestas.

Visitar el perfil

hace 11 años #110930

Hola, chicos,

Estoy trabajando en una estrategia simple de EMA donde el comercio comienza tan pronto como el Fast Ema cruza el Low EMA.

Ya he establecido el S/L y el Trailing Stop, pero me gustaría crear un S/L adicional que debería funcionar en el siguiente caso:

Operación Larga: Si la vela cierra por debajo del Lento Ma
Operación corta: si la vela cierra por encima de la Ma lenta

He introducido el siguiente código en el asistente para crear este S/L pero parece que he hecho algo mal, porque no he conseguido lo que esperaba:

Si:

OrderPosition(Magic Number) is Long
y: isBaropen es True
y close[1] <SlowEma

Entonces:

Cerrar posición (número mágico)

¿Qué es exactamente lo que he hecho mal y cómo puedo hacer que este S/L funcione?

Gracias de antemano por su ayuda y Feliz Navidad

David

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #121067

Lo único que puedo pensar que podría ser el problema es que tienes 2 reglas compitiendo entre sí para poner un stop loss a un precio cuando se cumplen las condiciones y un trailing stop loss de la regla principal. Así que en su regla principal, dice que el stop loss debe ser movido a 1.5028 por el trailing stop loss y luego otra regla donde el Cierre es < SlowEMA dice que el stop loss debe estar en 1.5018.

Yo sugeriría tratar de eliminar el trailing stop loss de la regla principal, crear una regla adicional que pone el trailing stop loss como quieras y luego este otro trailing stop loss si cierre es < slowEma. Así que sería como:

[u][b]Regla de entrada principal[/b][/u]
* Eliminar Trailing Stop. Que establezca el objetivo de beneficio y el stop loss original.

[u][b]Trailing Stop 1[/b][/u]
* Poner condiciones de cómo quieres que se gestione el trailing stop. Lo que parece es que podría parecer:
SI
[indent=1][color=#282828][font=helvetica, arial, sans-serif]OrderPosition(Número Mágico) es Largo[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]and: isBaropen is True[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]y cerrar[1] > SlowEma[/font][/color][/indent]
Entonces
[indent=1]Introduzca su trailing stop loss[/indent]

[u][b]Trailing Stop 2[/b][/u]
SI
[indent=1][color=#282828][font=helvetica, arial, sans-serif]OrderPosition(Número Mágico) es Largo[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]and: isBaropen is True[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]y cerrar[1] < SlowEma[/font][/color][/indent]
Entonces
[indent=1]Introduzca su trailing stop loss[/indent]

Ahora yo pensaría que usted no tendrá que competir trailing stop loss y una regla controlará el trailing stop a la vez dependiendo de iwhich condiciones se cumplen. Usted podría intentar esto y ver si se soluciona el problema.

0

Daviden1

Abonado, bbp_participant, comunidad, 14 respuestas.

Visitar el perfil

hace 11 años #121069

Gracias Stearno,

El hecho es que no tengo el trailing stop en mis reglas de entrada principales, de hecho, en mis reglas de entrada sólo tengo el stop loss.
Luego, he añadido una regla adicional, como usted sugirió, con nuevas reglas para Trailing stop y luego, ahora, estoy tratando de crear este nuevo Stop Loss que debe funciona cuando el cierre cruza o está por debajo de la slowMA.

Si el código que estoy usando no es erróneo, probablemente, como has dicho, alguna otra regla compita con esta nueva regla para el S/L.

¿Hay algún código que pueda añadir a los anteriores para evitar el conflicto de normas?

Gracias de nuevo

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #121070

Ok, bien. Así que ahora tienes 2 reglas que están haciendo trailing stops. Permítanme nombrarlos para hacer esto más fácil.

Lo que he sacado de ti hasta ahora es que la Regla 2 de TS es:
[color=#282828][font=helvetica, arial, sans-serif]SI[/font][/color]

[indent=1]OrderPosition(Número Mágico) is Long
y: isBaropen es True
y close[1] > SlowEma[/indent]
[color=#282828][font=helvetica, arial, sans-serif]Entonces[/font][/color]

[indent=1][color=#282828][font=helvetica, arial, sans-serif]Introduzca su trailing stop loss[/font][/color][/indent]

[color=#282828][font=helvetica, arial, sans-serif][color=#2828][font=helvetica, arial, sans-serif]Regla TS 1[/font][/color]
[color=#282828][font=helvetica, arial, sans-serif]? - No conozco las declaraciones utilizadas en este caso[/font][/color].

[b][color=#282828][font=helvetica, arial, sans-serif]2 pensamientos:[/font][/color][/b]
[color=#282828][font=helvetica, arial, sans-serif]1. La regla THEN para estas reglas en realidad "Mover SL a" en lugar de hacer Trailing stop como se ve en el adjunto. Necesidad de hacer la declaración THEN para estas reglas en realidad "Mover SL a" en lugar de hacer un Trailing stop como se ve en el adjunto. [/font][/color][/font][/color]En realidad sólo está cambiando la pérdida de la parada de cada barra cuando las condiciones enumeradas se cumplen en lugar de utilizar el campo llamado Trailing Stop

Archivo: mover sl.jpgmover sl.jpg

[font=”helvetica, arial, sans-serif”][color=”#282828″]2. Regla TS 1 - necesita tener una condición que la separe de la Regla TS 2. Así que si TS Regla 2 dice "close[1] > SlowEma", entonces yo sugeriría TS Regla 1 para decir [/color][/font][color=#2828][font=helvetica, arial, sans-serif]"close[1] < SlowEma". Así sólo se aplicará una regla en cada momento. [/font][/color]

[color=#282828][font=helvetica, arial, sans-serif]¿Alguno de estos soluciona el problema? Si no, envía el archivo SQW y podremos ver el código real[/font][/color].

[color=#282828][font=helvetica, arial, sans-serif]-Stearno[/font][/color]

0

Daviden1

Abonado, bbp_participant, comunidad, 14 respuestas.

Visitar el perfil

hace 11 años #121074

Gracias Stearno, pero creo que no he sido demasiado claro al explicarte mi programa.

Tengo las siguientes reglas:

1) Reglas de entrada principales con sólo el S/L en la "sección THEN".

2) Regla TS dinámica que se basa en un indicador personalizado con "mover S / L a" en la "sección THEN", que es:

Si:
La posición del mercado es larga
y: Orden S/L (MagicLong) < icustom..............

Entonces:

Mover S/L a:

Número mágico: magicLong
Precio: icustom.................

Obviamente tengo un TS con reglas opuestas para las operaciones Cortas.

3) Ahora quiero crear un S/L (tanto para operaciones Largas como Cortas) que cerrará inmediatamente la operación si el cierre de la barra cruza la SlowMA hacia abajo para operaciones Largas y hacia arriba para operaciones Cortas.

Pensé algo así, pero no funciona:

Para operaciones largas:

Si:

MarketPosition es Largo
y: isBarOpen es True
y: OrderS/L(MagicLong) <-20
y: Close[1] < SlowMA

Entonces:

CerrarPosición

MagicNumber: MagicLong

Lo mismo con la regla contraria, para las Operaciones Cortas.

Por favor, hágamelo saber lo que piensa, si usted no encuentra nada malo voy a adjuntar el .mq4

Gracias de nuevo

0

Daviden1

Abonado, bbp_participant, comunidad, 14 respuestas.

Visitar el perfil

hace 11 años #121075

Lo siento Stearno,

En las nuevas reglas para cerrar la operación, cometí un error, la siguiente es la regla correcta:

Para operaciones largas:

Si:

MarketPosition es Largo
y: isBarOpen es True
y: OpenS/L(MagicLong) <-20 (no OrderS/L como arriba)
y: Close[1] < SlowMA

De todas formas, te adjunto el .sqw del mismo, para que lo veas por ti mismo.

Gracias

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #121077

Una cosa que noté es que el EA hace referencia a S/R (Barry) v1 y v2 ambos. ¿Es un error?

Archivo: v1.jpgv1.jpg

Lo segundo es, buenas noticias, tus reglas no están en conflicto unas con otras como discutí originalmente. Usted tiene una regla que mueve la pérdida de la parada y entonces una pérdida de la parada de la emergencia de cerrar la orden si -20 (Mark tendrá que verificar si esto es formato correcto y uso de esto como nunca he utilizado -20; si prueba aceptable, entonces es aceptable)

En otra nota, una cosa que noté es que Barry S/R se mueve. Así que si usas eso como el Trailing Stop Loss, entonces el stop loss se moverá continuamente, incluso hacia abajo. Si esto es lo que quieres, entonces está bien.

Por ejemplo,

Ahora mismo S/R Barry dice que pongas el nivel en 1.60778. Así que tu EA pone el stop x pips por debajo de ese nivel. Entonces el precio bajó (pero no lo suficiente para alcanzar tu stop loss porque lo pusiste x pips por debajo del soporte), Ahora el S/R Barry dice que pongas una línea de soporte 1.60749. Así que ahora el EA moverá el stop loss x pips por debajo de ese nivel. Esto continúa hasta que el precio se mueve lo suficientemente grande como para golpear su stop loss o golpea su emergencia de -20 pérdida.

He aquí un ejemplo de ello:

Archivo: SL move.jpgSL move.jpg

Como puede ver, mientras no se produzca una oscilación brusca del precio, el stop loss seguirá bajando hasta que se produzca una oscilación brusca que alcance su SL o hasta que el P/L de la orden sea < -20. Bueno, entonces a su pregunta, ¿por qué el SL no funciona como se ve aquí:

Creo que Mark dijo en otro post que tienes que usar "Is Bar Open is True" en cada regla. Es un disparador que inicia la regla cada vez que una barra está abierta. Así que si esto es correcto, entonces eso explicaría por qué el SL no se está moviendo por su regla. Puedo ver lo que está tratando de hacer, que es tener la EA calcular en cada Tick en lugar de Bar Open. Pero no sé cómo hacer esto en el Asistente de EA, y no lo veo como una opción en el software como lo fue una opción en el Generador de EA. Eso me llevaría a suponer que no está disponible en este momento y tener que utilizar la declaración Bar Open en cada regla. No tengo los indicadores SR Barry v1 o v2, así que no puedo probar que esto arreglaría el EA para que funcione. Así que trate de que y ver qué resultados obtiene.

-Stearno

0

Daviden1

Abonado, bbp_participant, comunidad, 14 respuestas.

Visitar el perfil

hace 11 años #121078

Hola Stearno,

En primer lugar, muchas gracias por tomarse el tiempo para probar mi EA... Realmente lo he apreciado.

Responderé a sus preguntas por orden:

1) La salida V1 en la codición "IF" y la salida V2 en la condición "THEN", no sé si es un error, porque Mark me ayudó con este código... pero la estrategia funciona como yo quería, por lo tanto, realmente no creo que sea un error; se lo preguntaré a Mark.

2) En cuanto al Open P/L < - 20, esta es una fórmula que Mark escribió en el tutorial en la sección Usando Controles de Estrategia.

3) Sí, eso es lo que quiero. El S / R (Barry) sigue el mercado y dibuja los niveles de soporte y resistencia tan pronto como la condición se cumplen, y es grande como TS.... en la lista para mi estrategia.
No tengo Take Profit para mi estrategia, simplemente dejo el S/L siguiendo el mercado hasta que se alcanza el TS.

4) El significado de < -20 en realidad no era cerrar la operación si mi S/L llegaba a 20 pips o más. Lo que traté de hacer con este código es hacer TRUE las otras condiciones en la Emergencia S/L sólo si mi Open Loss está por debajo de los 20 pips.

Esto, lo que sigue, es exactamente lo que estoy tratando de decir a la EA con la parada de emergencia:

Cuando se abre una nueva barra, compruebe si el cierre de la barra anterior está por debajo de la MA Lenta (en una operación Larga) o por encima de la MA Lenta (en una operación Corta).
Si eso es VERDADERO y mi Pérdida actual está por debajo de 20 pips (esta es la razón por la que pongo el Open P/L < - 20) ENTONCES cierre la operación.

Corrígeme si me equivoco... ¿Básicamente estás diciendo que este S/L de emergencia no funciona porque debería introducir el código isBarOpen incluso en mis reglas de ENTRADA PRINCIPAL?

Gracias de nuevo

0

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