Iscriviti ora
Data e ora/probuilder · probacktest · proorder · proscreener

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

probuilder
Month[N]

Parametri

NomeTipoPredefinitoDescrizione
Nintero0Offset 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)

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

L'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)

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 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)

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")

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 OpenMonth quando 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 = 0 non 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 <= 4 non 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].
  • 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.