OpenTimestamp
OpenTimestamp devuelve la marca de tiempo Unix de la hora de apertura del bar actual en ProBuilder, contando los segundos desde el 1 de enero de 1970 UTC, sin verse afectada por las zonas horarias.
Sintaxis
OpenTimestampLa palabra clave no acepta parámetros. Un índice de histórico entre corchetes lee bars anteriores, así que OpenTimestamp[1] da la marca de tiempo de apertura de la barra anterior.
Cómo funciona
Una marca de tiempo Unix cuenta el tiempo como un total acumulado de segundos a partir de la Época Unix, el 1 de enero de 1970 a las 00:00:00 UTC. OpenTimestamp informa de ese recuento para el momento en que abrió la vela actual. Como la escala está anclada a UTC, el valor es idéntico para todos los usuarios independientemente de la configuración de zona horaria de la plataforma o de los cambios de horario de verano.
Esto hace de OpenTimestamp la herramienta adecuada para la aritmética de duraciones. Restar dos marcas de tiempo da una diferencia en segundos enteros, algo que no es seguro con valores HHMMSS como OpenTime, donde los dígitos codifican horas y minutos en lugar de un recuento lineal.
La palabra clave complementaria Timestamp informa del tiempo Unix del cierre de la bar. La diferencia Timestamp - OpenTimestamp equivale por tanto a la duración del bar en los bars completados, y a la edad del bar transcurrida hasta ahora en el bar en vivo en formación. Las diferencias entre las marcas de tiempo de apertura de bars consecutivos revelan huecos en los datos, como pausas nocturnas o fines de semana.
Ejemplos
Ejemplo 1, segundos transcurridos dentro del bar actual (Indicador)
// Seconds between the bar open and the bar timestamp
elapsed = Timestamp - OpenTimestamp
RETURN elapsedEn los bars completados el trazado equivale a la duración del bar en segundos. En el bar en curso muestra cuánto tiempo lleva formándose la vela.
Ejemplo 2, detectar un gap de sesión entre bars (ProOrder)
// Detect a gap larger than 4 hours between consecutive bar opens
gapSeconds = OpenTimestamp - OpenTimestamp[1]
IF gapSeconds > 14400 AND NOT OnMarket THEN
// The first bar after a long break, such as a new session
BUY 1 CONTRACT AT MARKET
ENDIF
SET STOP PLOSS 40Comparar las marcas de tiempo de apertura de dos bars consecutivos mide el tiempo real transcurrido entre ellos, lo que identifica el primer bar después de una pausa nocturna o de fin de semana.
Ejemplo 3, filtrar los instrumentos con datos obsoletos (ProScreener)
// Match instruments whose current bar opened within the last 15 minutes
fresh = Timestamp - OpenTimestamp < 900
SCREENER[fresh] ("Fresh bar")El screener conserva los instrumentos cuya última vela tiene menos de 900 segundos, descartando los que no han impreso datos recientes.
Errores y trampas habituales
- Segundos, no milisegundos. Las marcas de tiempo Unix de ProBuilder cuentan segundos. Las constantes copiadas de otros entornos que usan épocas en milisegundos estarán desviadas por un factor de 1000.
- Mezclar los sistemas de marca de tiempo y HHMMSS.
OpenTimestampse sitúa en una escala UTC lineal mientrasOpenTimees un compuesto HHMMSS en hora local. Comparar o restar valores entre los dos sistemas produce números sin sentido. - Suponer que es la hora local. El valor está anclado a UTC. Los límites de sesión definidos en horas locales deben tratarse con
OpenTimeoOpenHour, no sumando un desplazamiento fijo a la marca de tiempo, ya que los desplazamientos cambian con el horario de verano. - Cierre del bar frente al reloj. En bars históricos,
Timestampes la hora de cierre de esa bar, no el momento actual.Timestamp - OpenTimestampsolo lleva la cuenta de la antigüedad en el bar en formación.
Instrucciones relacionadas
Timestamp, marca de tiempo Unix del cierre del bar.OpenTime, hora de apertura del bar como entero HHMMSS local.CurrentTime, hora actual del reloj en formato HHMMSS.TIME, hora de cierre de un bar en formato HHMMSS.OpenDate, fecha en la que abrió el bar, en formato YYYYMMDD.OpenHour, componente de hora de la hora de apertura del bar.BarIndex, número de bars desde el principio del historial cargado.IntradayBarIndex, contador de bars que se reinicia al comienzo de cada día.