Para ello, he utilizado el siguiente código:
IF Dato=BarIndex-(BarIndex-1) THEN
x=(Open+(Open+High+Low+Close)/4)
y=(Open+High+Low+Close)/4
ELSIF Dato=(BarIndex-BarIndex<2) THEN
x=Dopen(1)+(Open+High+Low+Close)/4
y=(Open+High+Low+Close)/4
ENDIF
z = Average[7](x-y)
RETURN x-y, z COLOURED(0,0,255)
Y en la variable Dato lo he puesto como se ve en la siguiente imagen.
Pero ocurre un pequeño problema con esto y es que el cruce se realiza una, dos o incluso tres velas mas tarde de lo que debería. En la siguiente imagen se puede ver.
Como se puede ver el cruce que seria cuando cambia de rojo a verde, se produce en la tercera vela verde, donde señala la primera linea roja en vertical. Cuando lo que busco es que el cruce se haga donde está la pequeña línea vertical en verde. Que es donde se encuentra la primera vela en verde. En el caso del cruce a la baja ocurre lo mismo. En este caso el cruce se realiza en la segunda vela roja cuando se tendría que cruzar una vela antes.
Con esto, mi pregunta es.... ¿que esta mal en el código? y en la configuración de la variable dato? no doy con la tecla. Si alguien puede echarme un cable lo agradecería eternamente.
Gracias a todos de antemano y Saludos.