Today
Today geeft de datum van een bar N handelsdagen voor de huidige terug als een geheel getal in YYYYMMDD. Today[0] geeft de datum van de huidige dag in ProBuilder-scripts.
Syntaxis
Today
Today[N]Parameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
| N | geheel getal | 0 | Aantal handelsperiodes vóór de huidige bar. 0 is de huidige dag; N moet niet-negatief zijn. |
Hoe het werkt
Today geeft datums als compacte gehele getallen in YYYYMMDD-indeling, dus 1 maart 2024 wordt 20240301. Zonder index, of met Today[0], geeft het keyword de datum van de huidige handelsdag. Met een positieve index loopt het terug door de grafiekhistorie: Today[10] is de datum van de bar 10 handelsperiodes voor de huidige.
De index telt alleen handelsdagen. Weekenden en beursfeestdagen komen niet in de data voor, dus ze worden overgeslagen in plaats van geteld, en Today[5] op een maandag reikt doorgaans meer dan vijf kalenderdagen terug.
Omdat YYYYMMDD-getallen met de tijd toenemen, sorteren ze correct met de normale vergelijkingsoperatoren. Today >= 20240301 is een geldige manier om logica te beperken tot datums op of na 1 maart 2024. Wat het formaat niet ondersteunt is kalenderrekenwerk: het verschil tussen twee YYYYMMDD-waarden is geen aantal dagen, dus voor het meten van verstreken tijd gebruik je beter Timestamp in plaats daarvan.
Voorbeelden
Voorbeeld 1, Een datum tien handelsdagen terug lezen (Indicator)
// Date of the bar 10 trading days before the current one
previousDate = Today[10]
RETURN previousDateDe indicator geeft de YYYYMMDD-datum terug van de bar tien handelsperiodes eerder, waarbij weekends en feestdagen worden overgeslagen.
Voorbeeld 2, Een strategie activeren vanaf een vaste datum (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
ENDIFHet datumfilter beperkt de backtest tot bars op of na de gekozen dag, zelfs wanneer er een veel langere historie op de grafiek is geladen.
Voorbeeld 3, De eerste bar van een nieuwe dag detecteren (ProScreener)
// Match instruments whose current bar starts a new calendar date
newDay = Today > Today[1]
SCREENER[newDay] ("New date")Omdat YYYYMMDD-waarden met de tijd oplopen, isoleert een datum van de huidige bar die hoger is dan die van de vorige de eerste bar van elke nieuwe dag.
Veelvoorkomende fouten en valkuilen
- Datums aftrekken is niet hetzelfde als dagen tellen.
20240301 - 20240229is gelijk aan72, niet 1. YYYYMMDD-integers zijn positionele samenstellingen, dus verschillen over maand- of jaargrenzen zijn zinloos. Tijdsduren vereisenTimestamp. - De index telt handelsdagen. Niet-handelsdagen ontbreken in de data, dus
Today[5]reikt vijf bars terug in de dagreeks, niet vijf kalenderdagen. Rond feestdagen wordt de kalenderafstand nog groter. - Indexeren voorbij de geladen historie. Wanneer N groter is dan het aantal bars dat op de grafiek beschikbaar is, heeft de lookup geen data om te lezen en is het resultaat onbruikbaar. Houd N binnen het geladen bereik of bouw een beveiliging in tegen vroege bars.
- Afkortingen met twee cijfers werken niet. Datums moeten volledig worden geschreven,
20240301, nooit240301. Afgekapte literalen worden vergeleken met de verkeerde grootte en de voorwaarde gaat stilletjes de fout in.
Gerelateerde instructies
Yesterday, datum van de dag voorafgaand aan een bepaalde bar.Day, component dag van de maand van de bardatum.Month, maandcomponent van de bardatum.Year, jaarcomponent van de bardatum.DayOfWeek, dag van de week van de bar als getal.OpenDate, datum waarop de bar is geopend, in YYYYMMDD-formaat.TIME, sluitingstijd van een bar in HHMMSS-formaat.Days, aantal dagen verstreken sinds 1900 voor lineair rekenen met dagen.