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

Day

Day geeft de dag van de maand, 1 tot 31, van een bar op de grafiek. Day accepteert een offset tussen rechte haken zoals Day[1] om de dag van een eerdere bar te lezen.

Syntaxis

probuilder
Day[N]

Hoe het werkt

Day geeft de dag van de maand van de bar die wordt verwerkt, als een integer van 1 tot 31. Het leest de kalenderdatum die aan elke bar hangt, dus in tegenstelling tot de Current-familie verandert het langs de tijdas: opeenvolgende bars op een daggrafiek lopen door de dagen van de maand, en de waarde reset na de laatste dag van elke maand.

De optionele index N selecteert een bar ten opzichte van de bar die wordt verwerkt. Day[0], of gewoon Day, is de huidige bar. Een positieve N kijkt terug: Day[1] is de vorige bar, Day[5] is vijf bars terug. De grafiek moet genoeg historie bevatten voor de gevraagde offset, anders is de waarde ongedefinieerd aan de linkerrand.

Day geeft alleen het dagnummer en bevat geen maand of jaar. Het vergelijken van Day waarden over een maandgrens kunnen misleidend zijn, omdat dag 31 van de ene maand wordt gevolgd door dag 1 van de volgende. Gebruik voor een volledige datum Day samen met Month en Year, of grijp naar Days en Timestamp wanneer je één monotone waarde nodig hebt.

Voorbeelden

Voorbeeld 1, Dag van de vorige bar (Indicator)

probuilder
// Retrieve the day of the month from the previous bar
myDay = Day[1]
RETURN myDay

De indicator plot het dag-van-de-maandnummer van de bar direct voor elke verwerkte bar, een getrapte lijn die door de maand omhoog klimt en bij elke maandwissel terugvalt.

Voorbeeld 2, Scan op bars aan het begin van de maand (ProScreener)

probuilder
// Match instruments whose latest bar falls in the first three days of a month
earlyInMonth = Day <= 3
SCREENER[earlyInMonth AND close > Average[20](close)] (Day AS "Day")

De screener geeft alleen instrumenten terug waarvan de meest recente bar in de eerste dagen van een kalendermaand valt, met het dagnummer ernaast weergegeven.

Voorbeeld 3, Filter op de eerste handelsdag (ProOrder)

probuilder
// Allow entries only when a new month has just started
DEFPARAM CumulateOrders = false
newMonthStart = Day < Day[1]
IF newMonthStart AND close CROSSES OVER Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
ENDIF

De voorwaarde Day < Day[1] is true op de eerste bar van een nieuwe maand, omdat het dagnummer van een hoge waarde terugvalt naar 1. De strategie gebruikt dat als instappoort van één keer per maand.

Veelvoorkomende fouten en valkuilen

  • Dag van de maand, niet van de week. Day geeft 1 tot 31, de kalenderdag. Voor de weekdag gebruik je DayOfWeek.
  • Geen maand of jaar. Day bevat alleen het dagnummer, dus dag 5 in maart en dag 5 in april zien er identiek uit. Combineer met Month en Year voor een volledige datum.
  • Maandgrenzen. Een test zoals Day > Day[1] faalt op de eerste bar van een maand omdat het getal terugspringt naar 1. Handel de overgang expliciet af bij vergelijkingen over bars heen.
  • Offset voorbij de historie. Day[N] vereist N bars historie. Nabij de linkerrand van de grafiek is de waarde niet gedefinieerd.
  • OpenDay, dag van de maand bij de open van elke bar.
  • Month, maand van elke bar, vormt samen met Day een volledige datum.
  • Year, viercijferig jaartal van elke bar.
  • DayOfWeek, weekdag van elke bar, 1 voor maandag tot 7 voor zondag.
  • Days, het aantal volledige dagen verstreken sinds 1 januari 1900 tot aan elke bar.
  • TIME, sluitingstijd van elke bar als geheel getal in HHMMSS.
  • Timestamp, UNIX-tijd van de close van elke bar.
  • Yesterday, datum van de dag vóór een bar, in YYYYMMDD-vorm.