Today
Today returnerer datoen for en bar N handelsdager før den gjeldende som et YYYYMMDD-heltall. Today[0] gir datoen for gjeldende dag i ProBuilder-skript.
Syntaks
Today
Today[N]Parametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
| N | heltall | 0 | Antall handelsperioder før gjeldende bar. 0 er gjeldende dag; N må være ikke-negativ. |
Slik fungerer det
Today eksponerer datoer som kompakte heltall i YYYYMMDD-format, så 1. mars 2024 blir 20240301. Uten indeks, eller med Today[0], returnerer nøkkelordet datoen for gjeldende handelsdag. Med en positiv indeks går det bakover gjennom diagramhistorikken: Today[10] er datoen for baren 10 handelsperioder før den gjeldende.
Indeksen teller bare handelsdager. Helger og markedshelligdager finnes ikke i dataene, så de hoppes over i stedet for å telles, og Today[5] på en mandag strekker seg typisk mer enn fem kalenderdager tilbake.
Fordi YYYYMMDD-heltall vokser med tiden, sorteres de korrekt med vanlige sammenligningsoperatorer. Today >= 20240301 er en gyldig måte å begrense logikk til datoer på eller etter 1. mars 2024. Det formatet ikke støtter er kalenderaritmetikk: differansen mellom to YYYYMMDD-verdier er ikke et antall dager, så målinger av medgått tid bør bruke Timestamp i stedet.
Eksempler
Eksempel 1, Lese en dato ti handelsdager tilbake (Indikator)
// Date of the bar 10 trading days before the current one
previousDate = Today[10]
RETURN previousDateIndikatoren returnerer YYYYMMDD-datoen for baren ti handelsperioder tidligere, og hopper over helger og helligdager på veien.
Eksempel 2, Aktivere en strategi fra en fast dato (ProBacktest)
// Ignore all signals before 1 March 2024
IF Today >= 20240301 THEN
IF close CROSSES OVER Average[20](close) THEN
BUY 1 SHARES AT MARKET
ENDIF
ENDIFDatofilteret begrenser backtesten til barer på eller etter den valgte dagen, selv når en mye lengre historikk er lastet inn på diagrammet.
Eksempel 3, Oppdage den første baren i en ny dag (ProScreener)
// Match instruments whose current bar starts a new calendar date
newDay = Today > Today[1]
SCREENER[newDay] ("New date")Siden YYYYMMDD-verdier øker med tiden, isolerer det at datoen til gjeldende bar overstiger den forrige, den første baren i hver nye dag.
Vanlige feil og fallgruver
- Datosubtraksjon er ikke dagtelling.
20240301 - 20240229er lik72, ikke 1. YYYYMMDD-heltall er posisjonelle sammensetninger, så differanser over måneds- eller årsgrenser er meningsløse. Varigheter kreverTimestamp. - Indeksen teller handelsdager. Dager uten handel finnes ikke i dataene, så
Today[5]går fem barer tilbake i dagsserien, ikke fem kalenderdager. Rundt helligdager blir kalenderavstanden større. - Indeksering utover innlastet historikk. Når N overstiger antallet barer tilgjengelig på diagrammet, har oppslaget ingen data å lese og resultatet er ubrukelig. Hold N innenfor det innlastede området, eller sikre mot tidlige barer.
- Tosifrede snarveier fungerer ikke. Datoer må skrives fullstendig,
20240301, aldri240301. Avkortede literaler sammenlignes mot feil størrelsesorden, og betingelsen oppfører seg feil i det stille.
Relaterte instruksjoner
Yesterday, dato for dagen før en gitt bar.Day, dag-i-måneden-komponenten i bardatoen.Month, månedskomponenten i bardatoen.Year, årskomponenten i bardatoen.DayOfWeek, ukedagen til baren som et tall.OpenDate, datoen baren åpnet på, i YYYYMMDD-format.TIME, stengetiden for en bar i HHMMSS-format.Days, antall dager som har gått siden 1900 for lineær dagberegning.