MAXiMOS Y MINIMOS CON FRANJAS HORARIAS
Forums › ProRealTime foro Español › Soporte ProBuilder › MAXiMOS Y MINIMOS CON FRANJAS HORARIAS
- This topic has 5 replies, 2 voices, and was last updated 5 years ago by robertogozzi.
-
-
11/24/2019 at 1:38 PM #113499
Muy buenas.
Necesito un código que trate varias franjas horarias, por ejemplo de 12:00 a 15:00, otra de 14:00 a 21:00 y otra de 19:00 a 23:30, y extraiga de cada una de ellas los máximos y los mínimos. Trataríamos con maximos y mínimos horarios, para empezar.
Si pudieran colorearse las zonas ya sea como segmentos, ya sea como bandas verticales, (cada una de un color distinto) mejor. En las zonas de superposición de horarios que se mezclen los colores de esos segmentos o bandas verticales.
Todo ello para tratar de dilucir la influencia de los diferentes mercados mundiales en el precio.
He visto que hay algo escrito en el foro:
Minimos/Maximo EUR1234567891011// Minimos/Maximos EURIF time=180000 THENmaximoEUR=highest[8](high)minimoEUR=lowest[8](low)ENDIFRETURN maximoEUR as "maximoEUR", minimoEUR as "minimoEUR"Pero esto me devuelve una línea continua de máximos y de mínimos, y yo no quiero que se enlacen de forma continua, sino que al acabar el periodo la zona se “cierre” por decirlo de alguna manera. La idea está tratada en este link del 2018 (debajo), pero al ver la fecha de último comentario he pensado en abrir el tema de nuevo, ya que solo se dió un pequeño apunte. En este link, el usuario JJavier, queda pendiente de respuesta… él envia un attachment donde se ve el resultado que también yo busco.
https://www.prorealcode.com/topic/indicador-max-y-min-sesiones-asiatica-europea-y-americana/
Les agradezco su tiempo y dedicación.
11/24/2019 at 3:55 PM #113507¿Es eso lo que quieres?
12345678910111213141516171819202122232425262728IF time=120000 THENmax1=highmin1=lowENDIFIF time>=120000 and time <= 150000 THENmax1=max(high,max1)min1=min(low,min1)ENDIF//IF time=140000 THENmax2=highmin2=lowENDIFIF time>=140000 and time <= 210000 THENmax2=max(high,max2)min2=min(low,min2)ENDIF//IF time=190000 THENmax3=highmin3=lowENDIFIF time>=190000 and time <= 233000 THENmax3=max(high,max3)min3=min(low,min3)ENDIF//RETURN max1 coloured(255,0,0,255), min1 coloured(255,0,0,255), max2 coloured(0,255,0255), min2 coloured(0,255,0,255), max3 coloured(0,0,255,255), min3 coloured(0,0,255,255)11/25/2019 at 4:06 PM #113559Muchas gracias Roberto.
El codigo que me has enviado tiene un par de problemas, el primero que no saca el máximo y mínimo del periodo y logicamente no construye, (con ese maximo y minimo) el rectángulo que voy buscando, sino que va construyendo la zona en base a los maximos y mínimos que va encontrando.
Y el segundo problema es que no cierra la zona, sino que prolonga las líneas hasta la siguiente ocasión que encuentra la hora de comienzo, dando como resultado una zona intermedia coloreada, fuera del horario restringido.
Para cerrar la zona horaria he incluido codigo casi igual que el de la entrada que tu has escrito.
Tambien he tenido que crear un indicador para cada zona horaria ya que un único indicador se liaba.
Al final, ha quedado medio bien, pero se producen errores. Envio una imagen de como va quedando y algunos errores detectados (rodeados por un círculo), parece que toma el cierre anterior como mínimo cuando el del periodo que está en curso no lo supera.
Envio el codigo para la franja horaria de 0 h a las 8 de la mañana. Como verás solo he añadido un intento de cierre de la zona, aunque como verás en el gráfico el indicador se prolonga en forma de línea horizontal.
Min Max ASIA12345678910111213141516if time = 000000 thenmaxASIA = highminASIA = highendifif time >= 000000 and time <= 80000 thenmaxASIA = max(high, maxASIA)minASIA = min(low, minASIA)endifif time = 90000 thenmaxASIA = lowminASIA = lowendifreturn maxASIA coloured (0,0,255,255), minASIA coloured (0,0,255,255)En fin, no se como podría mejorarse. Desde luego si se consiguiera el máximo y mínimo de la zona completa (un unico valor max y único valor min) la cosa cambiaría.
11/25/2019 at 4:42 PM #113565Pruebe esto, puede seleccionar el tiempo de inicio / finalización (importe el archivo ITF adjunto):
12345678910111213141516171819202122232425DEFPARAM DrawOnLastBarOnly = true//FromTime = 120000//ToTime = 150000IF time=FromTime THENmax1=highmin1=lowbar1=barindexENDIFIF FromTime < ToTime THENIF time>=FromTime and time <= ToTime THENmax1=max(high,max1)min1=min(low,min1)bar2=barindexENDIFELSEIF (time>=FromTime and time < 240000) OR (time <= ToTime AND time >= 000000) THENmax1=max(high,max1)min1=min(low,min1)bar2=barindexENDIFENDIFDRAWRECTANGLE(Bar1,Min1,Bar2,Max1) COLOURED(0,0,0,0)DRAWSEGMENT(Bar1,Min1,Bar2,Min1) COLOURED(255,0,0,255)DRAWSEGMENT(Bar1,Max1,Bar2,Max1) COLOURED(255,0,0,255)RETURNsolo verás el último rectángulo. Si desea verlos todos, entonces comente la línea 1.
Puede hacer 2 o tres copias y agregar todo en su gráfico con diferentes configuraciones de tiempo.
Si necesita ver incluso los rectángulos pasados, entonces necesitamos usar RETURN, pero eso unirá todos los rectángulos (no puede haber agujeros en los datos).
11/26/2019 at 7:39 PM #113665Muchas gracias Roberto.
Va mas o menos bien para un solo dia, aunque no consigo cambiar el color de relleno del rectángulo, siempre lo pone azul, a pesar de que le he cambiado todos los valores en el COLOURED, en un indicador copia de una temporalidad distinta. Supongo que este azul celeste es por defecto y no se puede cambiar.
He intentado ponerlo en amarillo:
DRAWRECTANGLE(Bar1,Min1,Bar2,Max1) COLOURED(255,255,0,100)
DRAWSEGMENT(Bar1,Min1,Bar2,Min1) COLOURED(255,255,0,0)
DRAWSEGMENT(Bar1,Max1,Bar2,Max1) COLOURED(255,255,0,0)Pero nada.
Si incluyo los rectángulos pasados no queda bien, marca maximos y mínimos dentro de las zonas…etc.
No creo que se pueda mejorar mucho mas.
11/26/2019 at 7:59 PM #113669El color del rectángulo no se puede cambiar, solo puede cambiar el borde. V11 permite colorear objetos dibujados.
-
AuthorPosts
Find exclusive trading pro-tools on