Dudas sobre cierre de una operacion con una condicion

Estoy tratando de configurar un ea en el que el cierre no viene ni por target ni tiene sl sino que la compra cierra con la condición de que el close del precio es menor al open, es decir a la primera oportunidad que aparezca una vela bajista, se cierra la compra.. he intentado hacerlo con la imagen que muestro y simpre me cierra en la misma barra que abre o en la siguiente, aunque la vela sea alcista.. Adjunto imagen de la construcción del ea. En que estare fallando? Gracias de antemando

Hola,

El problema está en el Shift (bars) de tus nodos Current Price. Veo en tu imagen que ambos tienen Shift = 0, y ahí está la raíz del problema. Te explico por qué:

1. Shift = 0 evalúa la barra en formación, no una barra completada

Cuando pones Close con Shift = 0, no estás obteniendo el cierre de una vela ya completada, sino el precio actual en tiempo real (el último tick). Es decir, Close[0] es básicamente el precio Bid en ese momento.

Entonces tu comparación Close[0] < Open[0] se cumple en cualquier instante en que el precio actual esté por debajo del precio de apertura de la vela en formación, lo cual ocurre constantemente durante las fluctuaciones normales del precio, incluso en velas que terminan siendo alcistas.

2. “Close All Buy” se ejecuta en cada tick

A diferencia de otros nodos de acción que esperan a una nueva barra, el nodo Close All Buy evalúa la condición en cada tick. Esto significa que en el mismo momento en que el precio baja aunque sea 1 pip por debajo del Open de la barra actual, la condición se dispara y cierra la compra inmediatamente. Por eso te cierra en la misma barra que abre o en la siguiente.

La solución: cambia el Shift a 1 en ambos nodos Current Price

La configuración correcta sería:

  • Current Price #1 → Price Type: Close, Shift: 1 → conectado a Value 1 del Comparison

  • Current Price #2 → Price Type: Open, Shift: 1 → conectado a Value 2 del Comparison

  • Comparison → Operator: Less than (como ya lo tienes)

De esta forma, la comparación será Close[1] < Open[1], es decir, evaluará si la vela anterior ya cerrada fue bajista. Solo cuando una vela se complete y confirme como bajista (su cierre fue menor que su apertura), se activará el cierre de la compra.

Resumen visual del cambio:

Configuración actual (incorrecta) Configuración corregida
Close, Shift = 0 (precio en tiempo real) Close, Shift = 1 (cierre de la vela anterior)
Open, Shift = 0 (apertura de la vela en formación) Open, Shift = 1 (apertura de la vela anterior)

Con este cambio, el EA esperará a que una vela se complete y confirme como bajista antes de cerrar la posición de compra. Saludos.

Un saludo,

Ignacio

Muchas gracias, lo implemento y cualquier cosa te comento.

Venga perfecto, a por ello :rocket: