Rejoignez-nous
Date et heure/probuilder · probacktest · proorder · proscreener

OpenMonth

OpenMonth retourne le mois, de 1 à 12, auquel le bar courant s'est ouvert. Utilisez Month pour le mois de la clôture du bar et CurrentMonth pour le mois calendaire actuel.

Syntaxe

probuilder
OpenMonth

Comment ça marche

OpenMonth retourne le mois calendaire auquel le bar en cours de traitement s'est ouvert, de 1 pour janvier à 12 pour décembre. Il lit l'horodatage de l'ouverture de chaque bar, il change donc le long de l'axe du temps à mesure que le calcul avance de bar en bar.

OpenMonth est le membre du trio des mois basé sur l'ouverture. Ses homologues sont Month, qui lit le mois de la clôture de chaque bar, et CurrentMonth, qui lit le mois de l'horloge au moment où le code s'exécute et qui est identique sur chaque bar. Sur les unités de temps journalières et inférieures, le mois d'ouverture et le mois de clôture d'un bar sont presque toujours les mêmes ; la distinction compte surtout sur les bars hebdomadaires ou mensuels qui chevauchent un changement de mois.

La constante ne prend aucun paramètre ni décalage entre crochets. Elle convient à une logique saisonnière fondée sur le mois où un bar commence, comme isoler le premier bar d'un nouveau mois ou filtrer une saison particulière.

Exemples

Exemple 1, drapeau d'ouverture en janvier (Indicateur)

probuilder
// Flag bars that opened in January
iMonth = OpenMonth
IF iMonth = 1 THEN
    openedInJan = 1
ELSE
    openedInJan = 0
ENDIF
RETURN openedInJan

L'indicateur trace 1 sur les bars dont l'ouverture tombe en janvier et 0 pour tous les autres mois, un moyen simple de mettre en évidence le début de chaque année sur le graphique.

Exemple 2, recherche des ouvertures du quatrième trimestre (ProScreener)

probuilder
// Match instruments whose latest bar opened in the fourth quarter
q4Open = (OpenMonth >= 10) AND (OpenMonth <= 12)
SCREENER[q4Open AND close > Average[50](close)] (OpenMonth AS "OpenMonth")

Le screener ne retourne que les instruments dont le bar le plus récent s'est ouvert en octobre, novembre ou décembre, avec le mois d'ouverture affiché à côté.

Exemple 3, filtre d'entrée en début de mois (ProOrder)

probuilder
// Allow entries only on the first bar of a new month
DEFPARAM CumulateOrders = false
newMonth = OpenMonth <> Month[1]
IF newMonth AND close CROSSES OVER Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

La condition compare le mois d'ouverture du bar courant avec le mois de clôture du bar précédent, elle est donc vraie sur le premier bar après un changement de mois, ce qui donne un filtre d'entrée une fois par mois.

Erreurs et pièges courants

  • Open, pas close. OpenMonth lit le mois de l'ouverture de la bar. Pour la clôture, utilisez Month. Les deux diffèrent rarement, sauf sur les bars qui chevauchent un changement de mois.
  • Pas le calendrier actuel. OpenMonth est une valeur par bar qui change au fil du graphique. Pour le mois de l'instant où le code s'exécute, utilisez CurrentMonth.
  • Ne porte aucune année. OpenMonth ne renvoie que le numéro du mois, donc janvier 2025 et janvier 2026 sont identiques. Combinez avec OpenYear ou Year lorsque l'année importe.
  • Pas de décalage entre crochets. OpenMonth[1] ne compile pas. Pour atteindre le mois d'une bar antérieure, utilisez Month[N].
  • Month, mois de la clôture de chaque bar.
  • CurrentMonth, mois de l'horloge au moment de l'exécution.
  • OpenYear, année à l'ouverture de chaque bar.
  • OpenDay, jour du mois à l'ouverture de chaque bar.
  • OpenTime, heure d'ouverture de chaque bar sous forme d'entier HHMMSS.
  • Year, année à quatre chiffres de chaque bar.
  • Day, jour du mois de chaque bar.
  • TIME, heure de clôture de chaque bar sous forme d'entier HHMMSS.