Bli medlem i dag
Dato og tid/probuilder · probacktest · proorder · proscreener

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

probuilder
Today
Today[N]

Parametere

NavnTypeStandardBeskrivelse
Nheltall0Antall 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)

probuilder
// Date of the bar 10 trading days before the current one
previousDate = Today[10]
RETURN previousDate

Indikatoren 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)

probuilder
// 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
ENDIF

Datofilteret 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)

probuilder
// 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 - 20240229 er lik 72, ikke 1. YYYYMMDD-heltall er posisjonelle sammensetninger, så differanser over måneds- eller årsgrenser er meningsløse. Varigheter krever Timestamp.
  • 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, aldri 240301. Avkortede literaler sammenlignes mot feil størrelsesorden, og betingelsen oppfører seg feil i det stille.
  • 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.