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
SecondLa 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)
// Store the seconds portion of the current bar's timestamp
mySecond = Second
RETURN mySecondEl 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)
// Rebuild an HHMMSS time value from its components
fullTime = Hour * 10000 + Minute * 100 + Second
RETURN fullTimeMultiplicar 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)
// 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 20En 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 = 30nunca 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,
CurrentSecondes 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.
Instrucciones relacionadas
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.