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

Second

Second devuelve los segundos transcurridos del minuto, de 0 a 59, de la marca de tiempo de la vela actual en ProBuilder. Solo es relevante en gráficos intraday basados en segundos.

Sintaxis

probuilder
Second

La palabra clave no acepta parámetros. Un índice de histórico entre corchetes lee bars anteriores, así que Second[1] da el componente de segundos de la marca de tiempo del bar anterior.

Cómo funciona

Cada barra lleva una marca de tiempo, y Second aísla su campo de segundos. El resultado es siempre un número entero entre 0 y 59. En un gráfico de 15 segundos los valores de barras consecutivas recorren 15, 30, 45, 0, mientras que en cualquier gráfico cuyo marco temporal sea de un minuto o mayor el valor es 0 en todas las barras, porque esas barras siempre cierran exactamente en un límite de minuto.

La precisión del resultado depende por tanto por completo de la granularidad del gráfico. Los scripts que dependen de Second solo se comportan de forma significativa en gráficos intraday basados en segundos, que es donde importa la precisión al segundo, por ejemplo en torno a publicaciones de noticias programadas.

Second describe la marca de tiempo de la barra, que corresponde al cierre de la barra. El componente de segundos de la apertura de la barra está disponible a través de OpenSecond, y el campo de segundos del reloj mediante CurrentSecond. Combinado con Hour y Minute, la palabra clave puede reconstruir un valor HHMMSS completo a partir de sus partes.

Ejemplos

Ejemplo 1, Lectura del campo de segundos de cada barra (Indicador)

probuilder
// Store the seconds portion of the current bar's timestamp
mySecond = Second
RETURN mySecond

El indicador dibuja el componente de segundos barra a barra, lo que es una forma rápida de verificar la granularidad del gráfico o de depurar la lógica basada en el tiempo.

Ejemplo 2, Reconstrucción de un valor HHMMSS completo (Indicador)

probuilder
// Rebuild an HHMMSS time value from its components
fullTime = Hour * 10000 + Minute * 100 + Second
RETURN fullTime

Multiplicar cada componente por su posición decimal reconstruye el mismo formato compuesto que utiliza TIME, útil cuando las partes se manipulan por separado primero.

Ejemplo 3, Actuar solo en los límites de minuto (ProOrder)

probuilder
// On a 15-second chart, act only on bars closing exactly on the minute
IF Second = 0 AND NOT OnMarket THEN
  IF close > Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ENDIF
SET STOP PLOSS 20

En un gráfico basado en segundos la condición Second = 0 selecciona un bar de cada minuto, reduciendo la frecuencia de señales sin cambiar el marco temporal del gráfico.

Errores y trampas habituales

  • Siempre cero en gráficos de un minuto o superiores. En gráficos de 1 minuto, horarios o diarios, Second devuelve 0 en todas las bars. Una condición como Second = 30 nunca puede ser cierto, y el bloque que lo rodea se convierte en código muerto.
  • Marca de tiempo de la barra frente a la hora del reloj. Second lee la marca de tiempo del bar, no la hora actual del día. Para el reloj en vivo, CurrentSecond es la palabra clave correcta; las dos solo coinciden en el momento en que un bar cierra.
  • Cierre frente a apertura. La marca de tiempo del bar corresponde al cierre del bar. El campo de segundos del momento de apertura requiere OpenSecond, y ambos difieren en la duración de la bar en gráficos basados en segundos.
  • CurrentSecond, campo de segundos de la hora actual del reloj.
  • OpenSecond, componente de segundos de la hora de apertura de la barra.
  • Minute, componente de minutos de la marca de tiempo de la barra.
  • Hour, componente de horas de la marca de tiempo de la barra.
  • TIME, hora de cierre completa de un bar en formato HHMMSS.
  • Timestamp, marca de tiempo Unix del cierre del bar en segundos.