OpenTimestamp
OpenTimestamp returnerar Unix-tidsstämpeln för den aktuella barens öppningstid i ProBuilder, räknat i sekunder sedan 1 januari 1970 UTC, opåverkad av tidszoner.
Syntax
OpenTimestampNyckelordet tar inga parametrar. Ett historikindex i hakparenteser läser tidigare barer, så OpenTimestamp[1] ger öppningstidsstämpeln för föregående bar.
Så fungerar det
En Unix-tidsstämpel räknar tid som en löpande summa av sekunder med start från Unix-epoken, 1 januari 1970 kl. 00:00:00 UTC. OpenTimestamp rapporterar den summan för ögonblicket då det aktuella ljuset öppnade. Eftersom skalan är förankrad i UTC är värdet identiskt för varje användare oavsett plattformens tidszonsinställningar eller övergångar till och från sommartid.
Det gör OpenTimestamp till rätt verktyg för tidsberäkningar. Att subtrahera två tidsstämplar ger en skillnad i hela sekunder, något som är osäkert med HHMMSS-värden som OpenTime, där siffrorna kodar timmar och minuter snarare än en linjär räknare.
Systernyckelordet Timestamp rapporterar Unix-tiden för barens stängning. Skillnaden Timestamp - OpenTimestamp är därför lika med barens längd på färdiga barer, och barens hittillsvarande ålder på den bar som just formas. Skillnader mellan öppningstidsstämplarna för på varandra följande barer avslöjar luckor i datan, till exempel nattuppehåll eller helger.
Exempel
Exempel 1, sekunder som förflutit inne i den aktuella baren (Indikator)
// Seconds between the bar open and the bar timestamp
elapsed = Timestamp - OpenTimestamp
RETURN elapsedPå avslutade barer är kurvan lika med barens längd i sekunder. På den levande baren visar den hur länge ljuset har formats.
Exempel 2, upptäcka ett sessionsgap mellan barer (ProOrder)
// Detect a gap larger than 4 hours between consecutive bar opens
gapSeconds = OpenTimestamp - OpenTimestamp[1]
IF gapSeconds > 14400 AND NOT OnMarket THEN
// The first bar after a long break, such as a new session
BUY 1 CONTRACT AT MARKET
ENDIF
SET STOP PLOSS 40Att jämföra öppningstidsstämplarna för två på varandra följande barer mäter den verkliga tid som förflutit mellan dem, vilket identifierar den första baren efter ett avbrott över natten eller över helgen.
Exempel 3, filtrera bort inaktuella instrument (ProScreener)
// Match instruments whose current bar opened within the last 15 minutes
fresh = Timestamp - OpenTimestamp < 900
SCREENER[fresh] ("Fresh bar")Screenern behåller instrument vars senaste ljus är yngre än 900 sekunder och förkastar de som inte har skrivit ut färska data.
Vanliga fel och fallgropar
- Sekunder, inte millisekunder. Unix-tidsstämplar i ProBuilder räknar sekunder. Konstanter som kopieras från andra miljöer som använder millisekundepoker blir fel med en faktor 1000.
- Att blanda tidsstämpel- och HHMMSS-system.
OpenTimestampligger på en linjär UTC-skala medanOpenTimeär ett HHMMSS-sammansatt värde i lokal tid. Att jämföra eller subtrahera värden mellan de två systemen ger meningslösa tal. - Att utgå från lokal tid. Värdet är ankrat till UTC. Sessionsgränser definierade i lokala timmar måste hanteras med
OpenTimeellerOpenHour, inte genom att lägga en fast förskjutning till tidsstämpeln, eftersom förskjutningarna ändras med sommartid. - Barstängning mot klocktid. På historiska bars,
Timestampär stängningstiden för den baren, inte det nuvarande ögonblicket.Timestamp - OpenTimestampspårar bara en löpande ålder på den bar som just formas.
Relaterade instruktioner
Timestamp, Unix-tidsstämpel för barens stängning.OpenTime, barens öppningstid som ett lokalt HHMMSS-heltal.CurrentTime, aktuell klocktid i HHMMSS-format.TIME, stängningstiden för en bar i formatet HHMMSS.OpenDate, datumet då baren öppnade, i formatet YYYYMMDD.OpenHour, timkomponenten i barens öppningstid.BarIndex, antal barer sedan början av den inlästa historiken.IntradayBarIndex, barräknare som nollställs vid varje dags början.