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
Month[N]Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
| N | entero | 0 | Desplazamiento 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)
// Read the closing month of the previous bar
lastMonth = Month[1]
IF lastMonth = 12 THEN
itWereChristmasMonth = 1
ELSE
itWereChristmasMonth = 0
ENDIF
RETURN itWereChristmasMonthEl 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)
// 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
ENDIFLa 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)
// 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
OpenMonthcuando 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 = 0nunca 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 <= 4nunca coincide, la forma correcta esMonth >= 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].
Instrucciones relacionadas
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.