Day
Day returnerer dagen i måneden, 1 til 31, for en bar i diagrammet. Day godtar en forskyvning i klammeparentes, for eksempel Day[1], for å lese dagen til en tidligere bar.
Syntaks
Day[N]Slik fungerer det
Day returnerer dagen i måneden for baren som behandles, som et heltall fra 1 til 31. Den leser kalenderdatoen som er knyttet til hver bar, så i motsetning til Current-familien endrer den seg langs tidsaksen: påfølgende barer i et dagsdiagram går gjennom dagene i måneden, og verdien nullstilles etter den siste dagen i hver måned.
Den valgfrie indeksen N velger en bar relativt til den som behandles. Day[0], eller ren Day, er gjeldende bar. En positiv N ser tilbake: Day[1] er forrige bar, Day[5] er fem bars tilbake. Diagrammet må ha nok historikk for den forespurte forskyvningen, ellers er verdien udefinert ved venstre kant.
Day rapporterer bare dagnummeret og inneholder ingen måned eller år. Å sammenligne Day verdier over en månedsgrense kan være misvisende, siden dag 31 i én måned følges av dag 1 i den neste. For en full dato, bruk Day sammen med Month og Year, eller ta i bruk Days og Timestamp når du trenger én enkelt monoton verdi.
Eksempler
Eksempel 1, Dag for den forrige baren (Indikator)
// Retrieve the day of the month from the previous bar
myDay = Day[1]
RETURN myDayIndikatoren tegner dagsnummeret i måneden for baren rett før hver behandlede bar, en trinnlinje som stiger gjennom måneden og faller ved hvert månedsskifte.
Eksempel 2, Skanning etter barer i begynnelsen av måneden (ProScreener)
// 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")Skanneren returnerer bare instrumenter der den siste baren ligger i de første dagene av en kalendermåned, med dagsnummeret vist ved siden av.
Eksempel 3, Filter for første handelsdag (ProOrder)
// 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
ENDIFBetingelsen Day < Day[1] er true på den første baren i en ny måned, fordi dagnummeret faller fra en høy verdi tilbake til 1. Strategien bruker det som en inngangsport én gang i måneden.
Vanlige feil og fallgruver
- Dag i måneden, ikke i uken. Day returnerer 1 til 31, kalenderdagen. For ukedagen bruker du
DayOfWeek. - Ingen måned eller år. Day inneholder bare dagnummeret, så dag 5 i mars og dag 5 i april ser identiske ut. Kombiner med
MonthogYearfor en fullstendig dato. - Månedsgrenser. En test som
Day > Day[1]feiler på den første baren i en måned fordi tallet nullstilles til 1. Håndter overgangen eksplisitt når du sammenligner på tvers av barer. - Forskyvning utover historikken.
Day[N]trengerNbarer med historikk. Nær venstre kant av diagrammet er verdien udefinert.
Relaterte instruksjoner
OpenDay, dagen i måneden ved åpningen av hver bar.Month, måned for hver bar, kombineres med Day for en full dato.Year, firesifret årstall for hver bar.DayOfWeek, ukedagen for hver bar, 1 for mandag til 7 for søndag.Days, hele dager gått siden 1. januar 1900 fram til hver bar.TIME, stengetiden for hver bar som et HHMMSS-heltall.Timestamp, UNIX-tid for stengingen av hver bar.Yesterday, datoen for dagen før en bar, i YYYYMMDD-form.