Days
Days returnerer hele antall dager som har gått siden 1 January 1900 opp til en bar. Days godtar en klammeforskyvning som Days[1] og hjelper med å måle datoforskjeller.
Syntaks
Days[N]Slik fungerer det
Days returnerer ett enkelt monotont heltall: antall kalenderdager fra referansedatoen 1. januar 1900 til datoen for baren som behandles. Fordi den komprimerer hele datoen til ett tall som bare øker, er den det naturlige verktøyet for å måle spennet mellom to barer. Differansen Days[0] - Days[N] er antallet kalenderdager som skiller gjeldende bar fra baren N posisjoner tilbake.
Tellingen inkluderer hver kalenderdag, helger og helligdager likedan, så den måler forløpt tid snarere enn handelssesjoner. Dette skiller den fra en enkel bartelling, som hopper over dagene markedet er stengt.
Den valgfrie indeksen N velger en bar relativt til den som behandles. Days[0], eller ren Days, er gjeldende bar. En positiv N ser tilbake: Days[1] er forrige bar. Diagrammet må ha nok historikk for den forespurte forskyvningen, ellers er verdien udefinert ved venstre kant.
Eksempler
Eksempel 1, Dager som har gått ved gjeldende bar (Indikator)
// Number of days since 1 January 1900 up to the current bar
myDays = Days[0]
RETURN myDaysIndikatoren tegner en langsomt stigende linje som øker med antallet kalenderdager mellom påfølgende barer. Gap over helger og helligdager vises som større trinn.
Eksempel 2, Søk etter en ny kalenderdag (ProScreener)
// Match instruments whose latest bar is on a different calendar day from the previous bar
newDay = Days > Days[1]
SCREENER[newDay AND close > Average[20](close)] (close AS "Close")På et intraday-diagram Days > Days[1] er sann bare på den første baren i en ny kalenderdag, så screeneren isolerer sesjonens åpningsbar.
Eksempel 3, Filter for dager i handel (ProOrder)
// Close the position once it has been held for at least five calendar days
DEFPARAM CumulateOrders = false
IF NOT LONGONMARKET AND close CROSSES OVER Average[20](close) THEN
BUY 1 CONTRACT AT MARKET
entryDays = Days
ENDIF
IF LONGONMARKET AND (Days - entryDays) >= 5 THEN
SELL AT MARKET
ENDIFStrategien lagrer Days-verdien ved inngang, og går så ut når fem kalenderdager har gått, der helger og helligdager regnes med fordi Days måler forløpt kalendertid.
Vanlige feil og fallgruver
- Referansedatoen er 1 January 1900. Det absolutte tallet er bare meningsfullt som en differanse. Trekk to Days-verdier fra hverandre for å få et spenn i dager.
- Kalenderdager, ikke handelsdager. Days teller hver kalenderdag, så en mandagsbar som følger en fredagsbar avviker med 3, ikke 1. Det er ikke en bartelling.
- Ikke en formatert dato. Days er en løpende telling, ikke en YYYYMMDD-dato. For en lesbar dato bruk
Todayeller kombinereDay,MonthogYear. - Forskyvning utover historikken.
Days[N]trengerNbarer med historikk. Nær venstre kant av diagrammet er verdien udefinert.
Relaterte instruksjoner
Day, dagen i måneden for hver bar, 1 til 31.DayOfWeek, ukedagen for hver bar, 1 for mandag til 7 for søndag.Month, måneden for hver bar.Year, firesifret årstall for hver bar.Timestamp, UNIX-tid for lukkingen av hver bar, en alternativ monoton klokke.TIME, stengetiden for hver bar som et HHMMSS-heltall.Yesterday, datoen for dagen før en bar, i YYYYMMDD-form.Today, datoen for gjeldende bar i YYYYMMDD-form.