Month
Month restituisce il numero del mese (da 1 a 12) della data di chiusura di un bar in ProBuilder. Usa l'offset [N] per filtri stagionali e logiche di trading basate sul mese dell'anno.
Sintassi
Month[N]Parametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
| N | intero | 0 | Offset del bar. 0 legge il bar corrente, 1 il bar precedente, e così via. Se omesso, viene letto il bar corrente. |
Come funziona
Month estrae la componente del mese dalla data associata a un bar. Il valore proviene dal timestamp di chiusura del bar, quindi un bar settimanale che apre il 30 giugno e chiude il 4 luglio riporta Month = 7. La parola chiave gemella OpenMonth legge la data di apertura dello stesso bar e in quel caso riporterebbe 6. Sulla maggior parte dei bars intraday e giornalieri le due coincidono, ma possono differire su qualsiasi bar a cavallo del confine di un mese.
Il valore restituito è un intero da 1 (gennaio) a 12 (dicembre). Non è coinvolto alcun dato di mercato, la parola chiave opera unicamente sul timestamp associato a ogni bar, quindi funziona in modo identico su qualsiasi strumento.
Il [N] offset legge il mese dei bars precedenti. Month[1] è il mese della chiusura della bar precedente, un modo semplice per rilevare un cambio di mese: quando Month <> Month[1] la bar corrente è la prima a chiudere in un nuovo mese.
Gli usi tipici includono studi stagionali, l'esclusione di mesi specifici da un backtest e l'attivazione di logiche di ribilanciamento mensile.
Esempi
Esempio 1, Verificare se il bar precedente ha chiuso a dicembre (Indicatore)
// Read the closing month of the previous bar
lastMonth = Month[1]
IF lastMonth = 12 THEN
itWereChristmasMonth = 1
ELSE
itWereChristmasMonth = 0
ENDIF
RETURN itWereChristmasMonthL'indicatore traccia 1 quando il bar precedente ha chiuso a dicembre e 0 altrimenti. Il [1] offset sposta la lettura di un bar indietro.
Esempio 2, Finestra stagionale solo long (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 strategia prende ingressi di trend solo durante la finestra da novembre ad aprile e azzera qualsiasi posizione long aperta quando il calendario esce dalla stagione. Nota la combinazione OR, la finestra scavalca la fine dell'anno.
Esempio 3, Screening per una chiusura a gennaio (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")Lo screener restituisce gli strumenti che quotano sopra la loro media lunga sui bar che hanno chiuso a gennaio, mostrando il numero del mese come colonna del risultato.
Errori e insidie comuni
- Data di chiusura, non data di apertura. Month legge il timestamp di chiusura della barra. Le barre settimanali o mensili che attraversano il confine tra due mesi riportano il mese successivo. Usa
OpenMonthquando la data di apertura è quella rilevante. - I mesi iniziano da 1. L'intervallo va da 1 a 12, non esiste il mese 0. Condizioni come
Month = 0non corrispondono mai e le conversioni sfalsate di uno da sistemi a base zero producono errori di logica silenziosi. - Le finestre a cavallo di fine anno richiedono OR. Una stagione come da novembre ad aprile attraversa il confine dell'anno.
Month >= 11 AND Month <= 4non corrisponde mai, la forma corretta èMonth >= 11 OR Month <= 4. - Rilevare i cambi di mese. Il confronto con una costante scatta su ogni bar di quel mese. Per agire una volta al mese, confronta bar consecutivi con
Month <> Month[1].
Istruzioni correlate
OpenMonth, mese della data di apertura del bar corrente, la forma gemella di Month.CurrentMonth, mese dell'orologio della macchina anziché di un timestamp di bar.Day, giorno del mese della data di chiusura di una bar.Year, anno della data di chiusura di un bar.Today, data della bar corrente in formato YYYYMMDD.Hour, componente dell'ora dell'orario di chiusura di un bar.DayOfWeek, giorno della settimana della data di chiusura di una bar.