ACTIVAR SEÑAL CON DOS CONDICIONES EN HORQUILLAS PREVIAS
Forums › ProRealTime foro Español › Soporte ProBuilder › ACTIVAR SEÑAL CON DOS CONDICIONES EN HORQUILLAS PREVIAS
- This topic has 4 replies, 2 voices, and was last updated 1 month ago by M.Nicolas 81.
-
-
10/18/2024 at 10:54 AM #239183123456789101112131415161718192021222324252627282930313233343536373839404142rem//50sS50=Average[50](close)M50 =Average[50](close)[3]DIF50 =(S50-M50)/S50*100ZONA1=DIF50 < -0.025469 AND DIF50 > -0.193//200exEX200=ExponentialAverage[200](close)M200 =ExponentialAverage[200](close)[3]DIF200 =(EX200-M200)/EX200*100ZONA2= DIF200 < -0.024 AND DIF200 > -0.122////// DELIMITACIÓN DE ZONAS CON CONDICIONif ZONA1 thenN=N+1elseN=0endifhorquilla1 = N>=5 and N<=65if ZONA2 thenNN=NN+1elseNN=0endifhorquilla2 = NN>=5 and NN<=65/// ACTIVADOR DE LA SEÑALACTIVADOR= 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///MARCADORESIF HORQUILLA1 THENHORQUILLA1=1.5ENDIFIF HORQUILLA2 THENHORQUILLA2=0.75ENDIFRETURN 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.
10/18/2024 at 3:37 PM #239207Buenas. 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.
123456789101112131415161718192021222324252627282930313233343536373839404142434445// Cálculo de la media y diferencia para la zona 1S50 = Average[50](close)M50 = Average[50](close)[3]DIF50 = (S50 – M50) / S50 * 100ZONA1 = DIF50 < -0.025469 AND DIF50 > -0.193// Cálculo de la media y diferencia para la zona 2EX200 = ExponentialAverage[200](close)M200 = ExponentialAverage[200](close)[3]DIF200 = (EX200 – M200) / EX200 * 100ZONA2 = DIF200 < -0.024 AND DIF200 > -0.122// Delimitación de la zona 1if ZONA1 thenN = N + 1elseN = 0endifhorquilla1 = N >= 5 and N <= 65// Delimitación de la zona 2if ZONA2 thenNN = NN + 1elseNN = 0endifhorquilla2 = NN >= 5 and NN <= 65// Activador de señal basado en las dos zonasif horquilla1 and horquilla2 thenSIGNAL = 0.5elseSIGNAL = 0endif// Marcadores visuales para las dos horquillasif horquilla1 thenHORQUILLA1 = 1.5endifif horquilla2 thenHORQUILLA2 = 1endif// Visualización de los resultadosRETURN HORQUILLA1 as “HORQUILLA1″coloured(“blue”), HORQUILLA2 as “HORQUILLA2″coloured(“green”), SIGNAL as “SEÑAL ACTIVADA” coloured(“red”)STYLE(LINE,2)10/18/2024 at 5:09 PM #239220Buenas 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.
10/19/2024 at 10:42 AM #239242Buenos 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.
123456789101112131415161718192021222324252627282930313233343536373839404142<span style="vertical-align: inherit;"><span style="vertical-align: inherit;">movimiento rápido del ojo</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">//años 50</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">S50=Promedio[50](cerrar)</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">M50 = Promedio[50](cerca)[3]</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">DIF50 = (S50-M50)/S50*100</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">ZONA1=DIF50 < -0,025469 Y DIF50 > -0,193</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">//200ex</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">EX200=PromedioExponencial[200](cerrar)</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">M200 = Promedio exponencial[200](cerrar)[3]</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">DIF200 = (EX200-M200)/EX200*100</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">ZONA2= DIF200 < -0,024 Y DIF200 > -0,122</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">////// DELIMITACIÓN DE ZONAS CON CONDICION</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Si ZONA1 entonces</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">N=N+1</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">demás</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">N=0</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">fin si</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">horquilla1 = N>=5 y N<=65</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">Si ZONA2 entonces</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">NN=NN+1</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">demás</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">NN=0</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">fin si</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">horquilla2 = NN>=5 y NN<=65</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">/// ACTIVADOR DE LA SEÑAL</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">ACTIVADOR= DIF200 CRUZA 0.00</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">/////// 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</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">///MARCADORES</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">SI HORQUILLA1 ENTONCES</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">HORQUILLA1=1.5</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">FINALIZAR SI</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">SI HORQUILLA2 ENTONCES</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">HORQUILLA2=0,75</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">FINALIZAR SI</span></span><span style="vertical-align: inherit;"><span style="vertical-align: inherit;">DEVOLVER HORQUILLA1 COMO "ZONA1",HORQUILLA2 COMO "HORQUILLA2"</span></span>10/19/2024 at 10:52 AM #239244123456789101112131415161718192021222324252627282930313233343536373839404142rem//50sS50=Average[50](close)M50 =Average[50](close)[3]DIF50 =(S50-M50)/S50*100ZONA1=DIF50 < -0.025469 AND DIF50 > -0.193//200exEX200=ExponentialAverage[200](close)M200 =ExponentialAverage[200](close)[3]DIF200 =(EX200-M200)/EX200*100ZONA2= DIF200 < -0.024 AND DIF200 > -0.122////// DELIMITACIÓN DE ZONAS CON CONDICIONif ZONA1 thenN=N+1elseN=0endifhorquilla1 = N>=5 and N<=65if ZONA2 thenNN=NN+1elseNN=0endifhorquilla2 = NN>=5 and NN<=65/// ACTIVADOR DE LA SEÑALACTIVADOR= 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///MARCADORESIF HORQUILLA1 THENHORQUILLA1=1.5ENDIFIF HORQUILLA2 THENHORQUILLA2=0.75ENDIFRETURN HORQUILLA1 AS "ZONA1",HORQUILLA2 AS "HORQUILLA2" -
AuthorPosts
Find exclusive trading pro-tools on