Ir al contenido

Cómo funciona el algoritmo del EA

En este capítulo discutiremos cómo funciona el algoritmo con las partes de tu EA y cómo actuará.

How ticks/quotes are processed by your EA
Vista general de cómo tu EA procesa los datos del mercado

Tu EA está compuesto por módulos con los que el algoritmo interactúa. Es gracias a la modularidad que puedes crear cualquier EA. Los módulos se dividen en tres categorías:

  • Módulos que previenen la apertura
  • Módulos para abrir
  • Módulos para cerrar

Lee más sobre los Módulos. Como has visto en la imagen anterior, el algoritmo interactuará con uno o más módulos. En el siguiente capítulo entraremos en detalle sobre esto.

El algoritmo de tu EA se comportará de manera diferente dependiendo de su estado:

  • No hay órdenes abiertas
  • Hay una o más órdenes abiertas

Cuando no hay órdenes abiertas, todo lo que hace el EA es esperar una Signal de apertura (Open Signal). Cuando la Signal se activa, abrirá una orden, a menos que un módulo de Prevención de apertura lo bloquee.

Tick/quote processing when no orders are open
Flujo de procesamiento cuando no hay órdenes abiertas

Cuando hay órdenes abiertas, tu EA evaluará si las órdenes abiertas deben cerrarse, basándose en si se alcanzó un SL/TP o si se activó una Signal de cierre (Close Signal). Cuando se alcanza el SL/TP, o se activa una Signal de cierre, primero verificará si una nueva orden se abriría (hipotéticamente) después de cerrar la orden actual. Esto se hace evaluando las Signals de apertura (teniendo en cuenta los módulos que previenen la apertura) y las Signals de cierre. Así que, el mismo proceso que cuando no hay órdenes abiertas se evalúa. Si una orden (hipotéticamente) no se abriría, la orden se cerrará. Además, el EA evaluará si se deben abrir órdenes adicionales. Las órdenes adicionales solo se abrirán cuando una Signal de apertura se active, es decir, después de haber estado inactiva durante al menos 1 cotización procesada.

Tick/quote processing when orders are open
Flujo de procesamiento cuando hay órdenes abiertas
  • Una orden se cierra cuando su SL o TP se alcanza, o por una Signal de cierre. Todos los Módulos para cerrar pueden influir en el SL/TP de la orden. El SL se establece por debajo de la orden (desde la perspectiva de una compra) y solo puede ser movido hacia arriba por el mismo u otro módulo. Lo opuesto es cierto para el TP: solo puede ser movido potencialmente hacia abajo. Los valores de SL/TP actualmente no se envían al broker.
  • Una orden solo se cierra si la orden no se abriría de nuevo directamente después de cerrarla, porque si el algoritmo cerrara la orden, otra orden se abriría inmediatamente y perderías otra ronda de Commission/spread. Para validar si este es el caso, la Signal de apertura se re-evalúa antes de cerrar, también teniendo en cuenta los módulos de Prevención de apertura. Por ejemplo, cuando una orden tiene que cerrarse segundos después de abrirse, es muy probable que la Signal de apertura todavía esté activa. Esto puede contrarrestarse usando un módulo de Prevención de apertura, como el módulo Time gap between orders. Al hacerlo, la Signal de apertura será bloqueada después de cerrar la orden, para que la orden pueda cerrarse.
  • Cuando se usa el módulo Multiple order Open, se abren órdenes adicionales cuando la Signal de apertura ha cambiado de activa (que abrió la orden anterior) a inactiva y se activa nuevamente, ahora abriendo una orden adicional.