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

Year

Year devuelve el año de cuatro dígitos de un bar del gráfico, como 2026. Year acepta un desplazamiento entre corchetes como Year[10] para leer el año de un bar anterior.

Sintaxis

probuilder
Year[N]

Cómo funciona

Year devuelve el año natural de la barra que se está procesando, como un entero de cuatro dígitos, por ejemplo 2026. Lee la fecha asociada a cada barra, así que cambia a lo largo del eje temporal: las barras de 2024 devuelven 2024, las de 2025 devuelven 2025, y el valor se incrementa en cada cambio de año.

El índice opcional N selecciona un bar relativo al que se está procesando. Year[0], o simple Year, es el bar actual. Un valor positivo N mira atrás: Year[10] es el año del bar diez posiciones antes. El gráfico debe tener suficiente histórico para el desplazamiento solicitado, de lo contrario el valor queda indefinido en el borde izquierdo. Year solo funciona en gráficos basados en tiempo, donde cada bar lleva una fecha.

Year es el año de cada bar. Sus instrucciones hermanas son CurrentYear, que lee el año del reloj en el momento de la ejecución y es idéntico en todas las bars, y OpenYear, que lee el año en la apertura de cada bar. Combina Year con Month y Day cuando necesitas comprobar una fecha de calendario completa.

Ejemplos

Ejemplo 1, Año de un bar anterior (Indicador)

probuilder
// Retrieve the year of the bar exactly 10 periods before the current bar
myYear = Year[10]
RETURN myYear

El indicador dibuja en cada punto el año del bar diez posiciones atrás, una línea escalonada que salta en cada cambio de año desplazado diez bars a la derecha.

Ejemplo 2, Escaneo por año (ProScreener)

probuilder
// Match instruments whose latest bar falls in 2026
thisYear = Year = 2026
SCREENER[thisYear AND close > Average[50](close)] (Year AS "Year")

El screener devuelve solo los instrumentos cuyo bar más reciente tiene fecha de 2026, con el año mostrado al lado, útil cuando el último bar de un gráfico puede quedarse por detrás del calendario.

Ejemplo 3, Filtro de entrada por cambio de año (ProOrder)

probuilder
// Allow entries only on the first bar of a new year
DEFPARAM CumulateOrders = false
newYear = Year > Year[1]
IF newYear AND close CROSSES OVER Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

La condición Year > Year[1] es verdadero en el primer bar de un nuevo año natural, por lo que la estrategia lo usa como filtro de entrada anual para ideas estacionales.

Errores y trampas habituales

  • Año de cuatro dígitos. Year devuelve un año completo como 2026, no una forma de dos dígitos. Las comparaciones deben usar el número completo.
  • Solo gráficos basados en tiempo. Year necesita bars que lleven una fecha. En gráficos no temporales el valor no tiene sentido.
  • Por bar, no el reloj. Year lee la fecha de cada bar y cambia a lo largo del eje. Para el año del momento en que se ejecuta el código, usa CurrentYear.
  • Desplazamiento más allá del historial. Year[N] necesita N bars de histórico. Cerca del borde izquierdo del gráfico el valor no está definido.
  • CurrentYear, año del reloj en el momento de la ejecución.
  • OpenYear, año en la apertura de cada bar.
  • Month, mes de cada bar, se combina con Year para una fecha más completa.
  • Day, día del mes de cada bar.
  • DayOfWeek, día de la semana de cada bar, de 1 para lunes a 7 para domingo.
  • Days, días completos transcurridos desde el 1 de enero de 1900 hasta cada bar.
  • TIME, hora de cierre de cada bar como entero HHMMSS.
  • Timestamp, tiempo UNIX del cierre de cada bar.