Word nu lid
Datum en tijd/probuilder · probacktest · proorder · proscreener

OpenMonth

OpenMonth geeft de maand terug, 1 tot 12, waarin de huidige bar is geopend. Gebruik Month voor de maand van de close van de bar en CurrentMonth voor de kalender van nu.

Syntaxis

probuilder
OpenMonth

Hoe het werkt

OpenMonth geeft de kalendermaand terug waarin de bar die wordt verwerkt is geopend, van 1 voor januari tot 12 voor december. Hij leest de timestamp van de opening van elke bar, dus de waarde verandert langs de tijdas terwijl de berekening van bar naar bar loopt.

OpenMonth is het op de open gebaseerde lid van het maandtrio. De verwanten zijn Month, die de maand van de close van elke bar leest, en CurrentMonth, die de maand van de klok leest op het moment dat de code wordt uitgevoerd en op elke bar identiek is. Op dagelijkse en kortere tijdframes zijn de openmaand en de sluitmaand van een bar bijna altijd dezelfde; het onderscheid doet vooral mee bij week- of maandbars die over een maandgrens heen liggen.

De constante neemt geen parameters en geen offset tussen blokhaken. Hij past bij seizoenslogica die zich richt op de maand waarin een bar begint, zoals het isoleren van de eerste bar van een nieuwe maand of filteren op een bepaald seizoen.

Voorbeelden

Voorbeeld 1, vlag voor opening in januari (Indicator)

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

De indicator plot 1 op bars waarvan de opening in januari valt en 0 in elke andere maand, een eenvoudige manier om het begin van elk jaar op de grafiek te markeren.

Voorbeeld 2, scannen op openingen in het vierde kwartaal (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")

De screener geeft alleen instrumenten terug waarvan de meest recente bar opende in oktober, november of december, met de openingsmaand ernaast weergegeven.

Voorbeeld 3, instappoort bij een nieuwe maand (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

De voorwaarde vergelijkt de openingsmaand van de huidige bar met de closemaand van de vorige bar, dus hij is waar op de eerste bar na een maandwisseling, wat een instappoort van eens per maand geeft.

Veelvoorkomende fouten en valkuilen

  • Open, niet close. OpenMonth leest de maand van de open van de bar. Voor de close gebruik Month. De twee verschillen zelden, behalve op bars die een maandgrens overspannen.
  • Niet de kalender van nu. OpenMonth is een waarde per bar die meebeweegt met de grafiek. Voor de maand van het moment waarop de code draait, gebruik CurrentMonth.
  • Bevat geen jaar. OpenMonth geeft alleen het maandnummer, dus januari 2025 en januari 2026 zien er identiek uit. Combineer met OpenYear of Year wanneer het jaar van belang is.
  • Geen offset tussen haakjes. OpenMonth[1] compileert niet. Gebruik voor de maand van een eerdere bar Month[N].
  • Month, maand van de close van elke bar.
  • CurrentMonth, maand van de klok op het moment van uitvoering.
  • OpenYear, jaar bij de open van elke bar.
  • OpenDay, dag van de maand bij de open van elke bar.
  • OpenTime, openingstijd van elke bar als geheel getal in HHMMSS.
  • Year, viercijferig jaartal van elke bar.
  • Day, dag van de maand van elke bar.
  • TIME, sluitingstijd van elke bar als geheel getal in HHMMSS.