¿Haciendo bien el EA?

7 respuestas

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #110806

He elaborado el EA adjunto. ¿Lo estoy haciendo correctamente?

Tengo un indicador personalizado que proporciona Entry, Stop, Profit Target, y Trailing stop.

1. EA coloca 3 órdenes Stop cuando el precio de entrada se rellena en el campo por el Indy.
2. Ponga el stop y el objetivo de beneficio en cada uno de ellos según lo previsto por la Indy
3. A continuación, cuando el Indy rellena el campo ActiveStop, EA para cambiar el precio de stop (o hacer un trailing stop) y luego hacerlo de nuevo cuando el Indy actualiza el campo ActiveStop a un nuevo número.

Agradezco sus comentarios y su ayuda.

Stearno

Archivo: TSM EA.sqw

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 11 años #120703

Hola Stearno,

parece correcto, aunque no conozco la estrategia original.
Las 3 órdenes de stop se colocan correctamente, el único problema podría ser con el trailing stop - puede ser implementado de una manera diferente en su sistema de comercio de lo que es en EA Wizard.

> 3. Luego, cuando el Indy rellena el campo ActiveStop, EA para cambiar el precio de stop (o hacer un trailing stop) y luego hacerlo de nuevo cuando el Indy actualiza el campo ActiveStop a un nuevo número.

si quieres cambiar el stop loss sólo después de que el Indy actualice el campo ActiveStop probablemente debas añadir una nueva regla para ello.
La regla sería:
SI
(el pedido existe y iCustom(..., ActiveStop) > 0)
ENTONCES
Mover SL a iCustom(..., ActiveStop)

Saludos cordiales,

Mark

Mark
Arquitecto de StrategyQuant

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #120705

Marca,
Muy buenos comentarios. Voy a actualizar estos ajustes después de la nueva actualización con el aumento de los parámetros. Gracias.

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #120893

Dijiste "si el orden existe". ¿Qué elijo para comprobar esa lógica?

Miré en Control de Estrategias, pero nada parecía devolver si existía una orden abierta por un el número mágico.

Además, en Posición en el mercado, ¿qué significa Plano, Largo, Corto?

Gracias

-Stearno

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 11 años #120906

hay dos funciones para comprobar si la orden está abierta:
Posición en el mercado - devuelve la posición de todo el EA
Order Position(MagicNumber) - devuelve la posición de la orden con el número mágico dado

Los posibles valores de retorno de estas funciones son:
Plano - significa que no hay ninguna posición abierta
Corto/Largo: significa que hay una posición corta o larga abierta.

Mark
Arquitecto de StrategyQuant

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #120908

Ah, vale. Yo estaba pensando Flat / Short / Long posiblemente podría ser el beneficio / pérdida. Gracias por aclarar eso.

Así que ahora haciendo como usted pidió, se encontró con dos preguntas más:

1. Este EA abrirá 3 órdenes largas cuando se cumplan las condiciones largas. Si hago otra pestaña para mover el stop loss, ¿tengo que hacer una pestaña para cada orden Larga (magic Long1, Magic long2, Magic Long3) o puedo hacer una pestaña que tendrá 3 Then statments cada una moviendo un SL para cada orden. La razón por la que pregunto es, tal vez la orden larga 1 ha alcanzado el objetivo Profit, por lo que sólo 2 órdenes permanecen abiertas. Si la sentencia Then está llamando a esa orden para cambiar su SL y no existe, ¿esto causará un problema o se saltará y pasará a la siguiente sentencia Then? Si causa un problema, entonces tengo que hacer un Tab para cada MagicNumber para modificar esa orden solamente. (ejemplo de cada adjunto con 3 en una pestaña, y sólo uno en una pestaña, que va a trabajar)?

2. Además, la salida del indicador ActiveStop se poblará y luego cambiará los números. Así que lo que estaba pensando es la sentencia If comparará la salida Active Stop [1] con la anterior salida Active Stop [2]. Si es mayor (porque va largo, entonces el stop solo subirá), entonces moverá el stop a la nueva salida. ¿Es esta la mejor manera?

Gracias,
Jonathan

0

Mark Fric

Administrador, sq-ultimate, 2 respuestas.

Visitar el perfil

hace 11 años #120917

1. Este EA abrirá 3 órdenes largas cuando se cumplan las condiciones largas. Si hago otra pestaña para mover el stop loss, ¿tengo que hacer una pestaña para cada orden Larga (magic Long1, Magic long2, Magic Long3) o puedo hacer una pestaña que tendrá 3 Then statments cada una moviendo un SL para cada orden. La razón por la que pregunto es, tal vez la orden larga 1 ha alcanzado el objetivo Profit, por lo que sólo 2 órdenes permanecen abiertas. Si la sentencia Then está llamando a esa orden para cambiar su SL y no existe, ¿esto causará un problema o se saltará y pasará a la siguiente sentencia Then? Si causa un problema, entonces tengo que hacer un Tab para cada MagicNumber para modificar esa orden solamente. (ejemplo de cada adjunto con 3 en una pestaña, y sólo uno en una pestaña, que va a trabajar)?

puedes ponerla en la misma regla de negociación. Si la orden no existe e intentas modificar su SL/PT no pasa nada, simplemente se ignora.

2. Además, la salida del indicador ActiveStop se poblará y luego cambiará los números. Así que lo que estaba pensando es la sentencia If comparará la salida Active Stop [1] con la anterior salida Active Stop [2]. Si es mayor (porque va largo, entonces el stop solo subirá), entonces moverá el stop a la nueva salida. ¿Es esta la mejor manera?

sí, creo que esta es la única manera, si usted necesita para comprobar el cambio en el valor ActiveStop

Mark

Mark
Arquitecto de StrategyQuant

0

stearno

Cliente, bbp_participant, comunidad, 379 respuestas.

Visitar el perfil

hace 11 años #120926

Gracias, Mark. Muy útil.

0

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