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

Month

Month devuelve el número de mes (1 a 12) de la fecha de cierre de un bar en ProBuilder. Usa el desplazamiento [N] para filtros estacionales y lógica de operativa por mes del año.

Sintaxis

probuilder
Month[N]

Parámetros

NombreTipoPor defectoDescripción
Nentero0Desplazamiento de bars. 0 lee el bar actual, 1 el bar anterior, y así sucesivamente. Si se omite, se lee el bar actual.

Cómo funciona

Month extrae el componente de mes de la fecha asociada a un bar. El valor proviene de la marca de tiempo de cierre del bar, por lo que un bar semanal que abre el 30 de junio y cierra el 4 de julio informa Month = 7. La palabra clave hermana OpenMonth lee la fecha de apertura del mismo bar y en ese caso informaría de 6. En la mayoría de los bars intraday y diarios ambos coinciden, pero pueden diferir en cualquier bar que cruce un límite de mes.

El valor devuelto es un número entero de 1 (enero) a 12 (diciembre). No intervienen datos de mercado, la palabra clave opera únicamente sobre la marca de tiempo asociada a cada bar, por lo que funciona de forma idéntica en cualquier instrumento.

El [N] el desplazamiento lee el mes de bars anteriores. Month[1] es el mes del cierre de la bar anterior, lo que supone una forma sencilla de detectar un cambio de mes: cuando Month <> Month[1] la bar actual es la primera que cierra en un nuevo mes.

Los usos típicos incluyen estudios estacionales, excluir meses concretos de un backtest y activar lógica de rebalanceo mensual.

Ejemplos

Ejemplo 1, Comprobar si el bar anterior cerró en diciembre (Indicador)

probuilder
// Read the closing month of the previous bar
lastMonth = Month[1]
IF lastMonth = 12 THEN
  itWereChristmasMonth = 1
ELSE
  itWereChristmasMonth = 0
ENDIF
RETURN itWereChristmasMonth

El indicador traza 1 cuando el bar anterior cerró en diciembre y 0 en caso contrario. El [1] el desplazamiento mueve la lectura un bar atrás.

Ejemplo 2, Ventana estacional solo largos (ProBacktest)

probuilder
// Only hold longs from November through April
inSeason = Month >= 11 OR Month <= 4

IF inSeason AND close CROSSES OVER Average[100](close) THEN
  BUY 1 SHARES AT MARKET
ENDIF

IF NOT inSeason AND LONGONMARKET THEN
  SELL AT MARKET
ENDIF

La estrategia toma entradas de tendencia solo durante la ventana de noviembre a abril y cierra cualquier long abierto una vez que el calendario sale de la temporada. Fíjate en la combinación OR, la ventana da la vuelta al final del año.

Ejemplo 3, Filtrar por un cierre en enero (ProScreener)

probuilder
// Match instruments whose latest bar closed in January above its 200-bar average
inJanuary = Month = 1
aboveTrend = close > Average[200](close)

SCREENER[inJanuary AND aboveTrend] (Month AS "Month")

El screener devuelve los instrumentos que cotizan por encima de su media larga en bars que cerraron en enero, mostrando el número de mes como columna de resultado.

Errores y trampas habituales

  • Fecha de cierre, no fecha de apertura. Month lee la marca de tiempo de cierre del bar. Los bars semanales o mensuales que cruzan el límite de un mes informan del mes posterior. Usa OpenMonth cuando la fecha de apertura es la relevante.
  • Los meses empiezan en 1. El rango es de 1 a 12, no existe el mes 0. Condiciones como Month = 0 nunca coinciden, y las conversiones desfasadas en uno desde sistemas de base cero producen errores lógicos silenciosos.
  • Las ventanas de fin de año necesitan OR. Una temporada como de noviembre a abril cruza el límite del año. Month >= 11 AND Month <= 4 nunca coincide, la forma correcta es Month >= 11 OR Month <= 4.
  • Detectar cambios de mes. Comparar con una constante se dispara en cada bar de ese mes. Para actuar una vez al mes, compara bars consecutivos con Month <> Month[1].
  • OpenMonth, mes de la fecha de apertura del bar actual, la forma hermana de Month.
  • CurrentMonth, mes del reloj del equipo en lugar de la marca de tiempo de un bar.
  • Day, día del mes de la fecha de cierre de un bar.
  • Year, año de la fecha de cierre de un bar.
  • Today, fecha del bar actual en formato YYYYMMDD.
  • Hour, componente de hora de la hora de cierre de un bar.
  • DayOfWeek, día de la semana de la fecha de cierre de un bar.