rem
//50s
S50=Average[50](close)
M50 =Average[50](close)[3]
DIF50 =(S50-M50)/S50*100
ZONA1=DIF50 < -0.025469 AND DIF50 > -0.193
//200ex
EX200=ExponentialAverage[200](close)
M200 =ExponentialAverage[200](close)[3]
DIF200 =(EX200-M200)/EX200*100
ZONA2= DIF200 < -0.024 AND DIF200 > -0.122
////// DELIMITACIÓN DE ZONAS CON CONDICION
if ZONA1 then
N=N+1
else
N=0
endif
horquilla1 = N>=5 and N<=65
if ZONA2 then
NN=NN+1
else
NN=0
endif
horquilla2 = NN>=5 and NN<=65
/// ACTIVADOR DE LA SEÑAL
ACTIVADOR= ZONA1 > 0
/////// MARCAR SEÑAL CUANDO EL ACTIVADOR CUMPLA SU CONDICION Y QUE LAS DOS ZONAS HAYAN ESTADO ACTIVAS EN EL SIGUIENTE ORDEN: ZONA1= x>=5 and x<=175 --- ZONA2= x1>=45 and x2<=225
///MARCADORES
IF HORQUILLA1 THEN
HORQUILLA1=1.5
ENDIF
IF HORQUILLA2 THEN
HORQUILLA2=0.75
ENDIF
RETURN HORQUILLA1 AS "ZONA1",HORQUILLA2 AS "HORQUILLA2"
Buenos días,
Por favor si me podéis ayudar con algo con lo que estoy atascado.
Quiero que el indicador me marque una señal cuando cumpla una condición dentro de una horquilla de validez para cada una de las condiciones previas que a su vez se encuentran también delimitadas dentro de una horquilla. La señal tendría que activarse al darse la condición a ZONA1= x>=5 and x<=175 de la primera zona y a ZONA2= x1>=45 and x2<=225 de la segunda.
Gracias.
Buenas. No entiendo muy bien la parte en la que dices que para ZONA1 x>=5 and x<=175 y ZONA2= x1>=45 and x2<=225. Como has definido las horquillas 1 y 2 con un rango de 5 a 65, en cuanto se pasen de 65, tanto N como NN, no se cumplirá la condición de activación...
En el siguiente código, para que el activador arranque, horquilla1 y horquilla2 tienen que ser verdaderas. Es decir, el rango de N será 5-65 y de NN será de 5-65.
// Cálculo de la media y diferencia para la zona 1
S50 = Average[50](close)
M50 = Average[50](close)[3]
DIF50 = (S50 - M50) / S50 * 100
ZONA1 = DIF50 < -0.025469 AND DIF50 > -0.193
// Cálculo de la media y diferencia para la zona 2
EX200 = ExponentialAverage[200](close)
M200 = ExponentialAverage[200](close)[3]
DIF200 = (EX200 - M200) / EX200 * 100
ZONA2 = DIF200 < -0.024 AND DIF200 > -0.122
// Delimitación de la zona 1
if ZONA1 then
N = N + 1
else
N = 0
endif
horquilla1 = N >= 5 and N <= 65
// Delimitación de la zona 2
if ZONA2 then
NN = NN + 1
else
NN = 0
endif
horquilla2 = NN >= 5 and NN <= 65
// Activador de señal basado en las dos zonas
if horquilla1 and horquilla2 then
SIGNAL = 0.5
else
SIGNAL = 0
endif
// Marcadores visuales para las dos horquillas
if horquilla1 then
HORQUILLA1 = 1.5
endif
if horquilla2 then
HORQUILLA2 = 1
endif
// Visualización de los resultados
RETURN HORQUILLA1 as "HORQUILLA1"coloured("blue"), HORQUILLA2 as "HORQUILLA2"coloured("green"), SIGNAL as "SEÑAL ACTIVADA" coloured("red")STYLE(LINE,2)
Buenas Iván,
Me refiero a que cuando se de la tercera condición, la que que he nombrado como Activador, quiero que se encuentre ha una distancia delimitada de ZONA1 x>=5 and x<=175 y ZONA2= x1>=45, desde que se marcaron las dos condiciones previas.
Buenos días Iván,
Me he dado cuenta de que como me explique ayer llevaba a la confusión, sobre todo porque define la tercera condición como zona1 > 0, y claro estaba utilizando zona1 para definir una de las horquillas de las dos condiciones previas.
Lo que quiero conseguir es lo siguiente: Por una parte identificar zona1 y zona2 que es cuando DIF50 por un lado y DIF200 por otro, se encuentran por debajo de un determinado nivel durante un periodo de tiempo acotado dentro de una horquilla >=5 y < =65, esto ya está definido dentro de ZONA1 Y ZONA2.
Lo que quiero añadir es que cuando se de la tercera condición ( ACTIVADOR= DIF200 CROSSES OVER 0.00) y lo haga estando a una distancia de las dos condiciones previas, acotada en ZONA1 x>=5 and x<=175 y ZONA2= x1> =45 y x2<=225 , se activa una señal.
Vuelvo a cargar el código con la 3º condición rectificada (ACTIVADOR) y adjunte una captura de pantalla, donde el histograma negro muestra la acotación de la ZONA1 y el histograma rojo muestra la acotación de la ZONA2. En el punto que esta marcado con la flecha azul es donde deseo que se active la señal.
Muchas gracias.
movimiento rápido del ojo
//años 50
S50=Promedio[50](cerrar)
M50 = Promedio[50](cerca)[3]
DIF50 = (S50-M50)/S50*100
ZONA1=DIF50 < -0,025469 Y DIF50 > -0,193
//200ex
EX200=PromedioExponencial[200](cerrar)
M200 = Promedio exponencial[200](cerrar)[3]
DIF200 = (EX200-M200)/EX200*100
ZONA2= DIF200 < -0,024 Y DIF200 > -0,122
////// DELIMITACIÓN DE ZONAS CON CONDICION
Si ZONA1 entonces
N=N+1
demás
N=0
fin si
horquilla1 = N>=5 y N<=65
Si ZONA2 entonces
NN=NN+1
demás
NN=0
fin si
horquilla2 = NN>=5 y NN<=65
/// ACTIVADOR DE LA SEÑAL
ACTIVADOR= DIF200 CRUZA 0.00
/////// MARCAR SEÑAL CUANDO EL ACTIVADOR CUMPLA SU CONDICION Y QUE LAS DOS ZONAS HAYAN ESTADO ACTIVAS EN EL SIGUIENTE ORDEN: ZONA1= x>=5 and x<=175 --- ZONA2= x1>=45 and x2 <=225
///MARCADORES
SI HORQUILLA1 ENTONCES
HORQUILLA1=1.5
FINALIZAR SI
SI HORQUILLA2 ENTONCES
HORQUILLA2=0,75
FINALIZAR SI
DEVOLVER HORQUILLA1 COMO "ZONA1",HORQUILLA2 COMO "HORQUILLA2"
rem
//50s
S50=Average[50](close)
M50 =Average[50](close)[3]
DIF50 =(S50-M50)/S50*100
ZONA1=DIF50 < -0.025469 AND DIF50 > -0.193
//200ex
EX200=ExponentialAverage[200](close)
M200 =ExponentialAverage[200](close)[3]
DIF200 =(EX200-M200)/EX200*100
ZONA2= DIF200 < -0.024 AND DIF200 > -0.122
////// DELIMITACIÓN DE ZONAS CON CONDICION
if ZONA1 then
N=N+1
else
N=0
endif
horquilla1 = N>=5 and N<=65
if ZONA2 then
NN=NN+1
else
NN=0
endif
horquilla2 = NN>=5 and NN<=65
/// ACTIVADOR DE LA SEÑAL
ACTIVADOR= DIF200 CROSSES OVER 0.00
/////// MARCAR SEÑAL CUANDO EL ACTIVADOR CUMPLA SU CONDICION Y QUE LAS DOS ZONAS HAYAN ESTADO ACTIVAS EN EL SIGUIENTE ORDEN: ZONA1= x>=5 and x<=175 --- ZONA2= x1>=45 and x2<=225
///MARCADORES
IF HORQUILLA1 THEN
HORQUILLA1=1.5
ENDIF
IF HORQUILLA2 THEN
HORQUILLA2=0.75
ENDIF
RETURN HORQUILLA1 AS "ZONA1",HORQUILLA2 AS "HORQUILLA2"