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

Month

Month geeft in ProBuilder het maandnummer (1 tot 12) van de sluitingsdatum van een bar terug. Gebruik de [N]-offset voor seizoensfilters en handelslogica op basis van de maand van het jaar.

Syntaxis

probuilder
Month[N]

Parameters

NaamTypeStandaardBeschrijving
Ngeheel getal0Bar-offset. 0 leest de huidige bar, 1 de vorige bar, en zo verder. Indien weggelaten wordt de huidige bar gelezen.

Hoe het werkt

Month haalt de maandcomponent uit de datum die bij een bar hoort. De waarde komt van de slottimestamp van de bar, dus een weekbar die opent op 30 juni en sluit op 4 juli meldt Month = 7. Het verwante sleutelwoord OpenMonth leest de opendatum van dezelfde bar en zou in dat geval 6 melden. Op de meeste intraday en dagbars komen de twee overeen, maar ze kunnen verschillen op elke bar die een maandgrens overspant.

De teruggegeven waarde is een geheel getal van 1 (januari) tot 12 (december). Er komt geen marktdata bij kijken, het sleutelwoord werkt puur op het tijdstempel dat aan elke bar hangt, waardoor het op elk instrument identiek werkt.

De [N] offset leest de maand van eerdere bars. Month[1] is de maand van de slotkoers van de vorige bar, een eenvoudige manier om een maandwisseling te detecteren: wanneer Month <> Month[1] de huidige bar is de eerste die in een nieuwe maand sluit.

Typische toepassingen zijn seizoensstudies, het uitsluiten van specifieke maanden uit een backtest, en het aanzetten van logica voor maandelijkse herbalancering.

Voorbeelden

Voorbeeld 1, Controleren of de vorige bar in december sloot (Indicator)

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

De indicator plot 1 wanneer de vorige bar in december sloot en anders 0. De [1] offset verschuift de meting één bar terug.

Voorbeeld 2, Seizoensgebonden venster met alleen 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

De strategie neemt trendinstappen alleen tijdens het venster van november tot april en sluit een eventuele open long zodra de kalender het seizoen verlaat. Let op de OR-combinatie, het venster loopt over de jaarwisseling heen.

Voorbeeld 3, Screenen op een close in januari (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")

De screener geeft instrumenten terug die boven hun lange gemiddelde handelen op bars die in januari sloten, met het maandnummer als resultaatkolom.

Veelvoorkomende fouten en valkuilen

  • Sluitingsdatum, niet openingsdatum. Month leest de slottijdstempel van de bar. Week- of maandbars die een maandgrens overspannen, rapporteren de latere maand. Gebruik OpenMonth wanneer de openingsdatum de relevante is.
  • Maanden beginnen bij 1. Het bereik is 1 tot 12, er is geen maand 0. Condities zoals Month = 0 komen nooit overeen en off-by-one-conversies vanuit nulgebaseerde systemen leveren stille logicafouten op.
  • Vensters rond de jaarwisseling hebben OR nodig. Een seizoen zoals november tot en met april overspant de jaargrens. Month >= 11 AND Month <= 4 nooit overeenkomt, de juiste vorm is Month >= 11 OR Month <= 4.
  • Maandwisselingen detecteren. Vergelijken met een constante gaat af op elke bar van die maand. Om één keer per maand te handelen, vergelijk je opeenvolgende bars met Month <> Month[1].
  • OpenMonth, maand van de openingsdatum van de huidige bar, de zustervorm van Month.
  • CurrentMonth, maand van de systeemklok in plaats van een tijdstempel van een bar.
  • Day, dag van de maand van de sluitingsdatum van een bar.
  • Year, jaar van de sluitingsdatum van een bar.
  • Today, datum van de huidige bar in YYYYMMDD-formaat.
  • Hour, uurcomponent van de sluitingstijd van een bar.
  • DayOfWeek, weekdag van de sluitingsdatum van een bar.