¿Haciendo bien el EA?
7 respuestas
stearno
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
Mark Fric
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
stearno
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.
stearno
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
Mark Fric
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
stearno
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
Mark Fric
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
stearno
hace 11 años #120926
Gracias, Mark. Muy útil.
Viendo 7 respuestas - de la 1 a la 7 (de un total de 7)