Month
Month renvoie le numéro du mois (1 à 12) de la date de clôture d'un bar dans ProBuilder. Utilisez le décalage [N] pour des filtres saisonniers et une logique de trading selon le mois de l'année.
Syntaxe
Month[N]Paramètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
| N | entier | 0 | Décalage en bars. 0 lit le bar courant, 1 le bar précédent, et ainsi de suite. S'il est omis, le bar courant est lu. |
Comment ça marche
Month extrait la composante mois de la date associée à un bar. La valeur provient de l'horodatage de clôture du bar, un bar hebdomadaire qui ouvre le 30 juin et clôture le 4 juillet indique donc Month = 7. Le mot-clé apparenté OpenMonth lit la date d'ouverture du même bar et indiquerait 6 dans ce cas. Sur la plupart des bars intraday et journaliers, les deux concordent, mais elles peuvent différer sur tout bar qui chevauche une limite de mois.
La valeur renvoyée est un entier de 1 (janvier) à 12 (décembre). Aucune donnée de marché n'intervient, le mot-clé opère uniquement sur l'horodatage attaché à chaque bar, il fonctionne donc de façon identique sur tout instrument.
Le [N] décalage lit le mois des bars antérieurs. Month[1] est le mois de la clôture de la bar précédente, ce qui est un moyen simple de détecter un changement de mois : lorsque Month <> Month[1] le bar actuel est le premier à clôturer dans un nouveau mois.
Les usages typiques incluent les études saisonnières, l'exclusion de mois spécifiques d'un backtest, et le déclenchement d'une logique de rééquilibrage mensuel.
Exemples
Exemple 1, Vérifier si le bar précédent a clôturé en décembre (Indicateur)
// Read the closing month of the previous bar
lastMonth = Month[1]
IF lastMonth = 12 THEN
itWereChristmasMonth = 1
ELSE
itWereChristmasMonth = 0
ENDIF
RETURN itWereChristmasMonthL'indicateur trace 1 quand la bar précédente a clôturé en décembre et 0 sinon. Le [1] décalage recule la lecture d'un bar.
Exemple 2, Fenêtre saisonnière long uniquement (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 stratégie ne prend des entrées en tendance que pendant la fenêtre de novembre à avril et solde toute position long ouverte dès que le calendrier sort de la saison. Notez la combinaison avec OR, la fenêtre chevauche la fin d'année.
Exemple 3, Screener une clôture en janvier (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")Le screener renvoie les instruments cotant au-dessus de leur moyenne longue sur les bars qui ont clôturé en janvier, en affichant le numéro du mois comme colonne de résultat.
Erreurs et pièges courants
- Date de clôture, pas date d'ouverture. Month lit l'horodatage de clôture de la bar. Les bars hebdomadaires ou mensuelles qui chevauchent une limite de mois rapportent le mois le plus récent. Utilisez
OpenMonthlorsque la date d'ouverture est celle qui importe. - Les mois commencent à 1. La plage va de 1 à 12, il n'y a pas de mois 0. Des conditions comme
Month = 0ne correspondent jamais et les conversions décalées d'une unité depuis les systèmes à base zéro produisent des erreurs de logique silencieuses. - Les fenêtres de fin d'année nécessitent OR. Une saison comme novembre à avril chevauche le changement d'année.
Month >= 11 AND Month <= 4ne correspond jamais, la forme correcte estMonth >= 11 OR Month <= 4. - Détecter les changements de mois. Comparer à une constante déclenche sur chaque bar de ce mois. Pour agir une fois par mois, comparez des bars consécutifs avec
Month <> Month[1].
Instructions liées
OpenMonth, mois de la date d'ouverture du bar courant, la forme jumelle de Month.CurrentMonth, mois de l'horloge de la machine plutôt que de l'horodatage d'un bar.Day, jour du mois de la date de clôture d'un bar.Year, année de la date de clôture d'un bar.Today, date du bar courant au format YYYYMMDD.Hour, composante horaire de l'heure de clôture d'un bar.DayOfWeek, jour de la semaine de la date de clôture d'un bar.