Únete hoy
Fecha y hora/probuilder · probacktest · proorder · proscreener

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

probuilder
OpenTimestamp

La 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)

probuilder
// Seconds between the bar open and the bar timestamp
elapsed = Timestamp - OpenTimestamp
RETURN elapsed

En 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)

probuilder
// 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 40

Comparar 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)

probuilder
// 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. OpenTimestamp se sitúa en una escala UTC lineal mientras OpenTime es 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 OpenTime o OpenHour, 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, Timestamp es la hora de cierre de esa bar, no el momento actual. Timestamp - OpenTimestamp solo lleva la cuenta de la antigüedad en el bar en formación.
  • 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.