OpenTimestamp
OpenTimestamp returnerer Unix-tidsstempelet for åpningstiden til den gjeldende baren i ProBuilder, og teller sekunder siden 1. januar 1970 UTC, upåvirket av tidssoner.
Syntaks
OpenTimestampNøkkelordet tar ingen parametere. En historikkindeks i hakeparenteser leser tidligere bars, så OpenTimestamp[1] gir åpningstidspunktet for forrige bar.
Slik fungerer det
Et Unix-tidsstempel måler tid som et løpende antall sekunder regnet fra Unix Epoch, 1. januar 1970 kl. 00:00:00 UTC. OpenTimestamp rapporterer dette antallet for øyeblikket da den gjeldende lysestaken åpnet. Fordi skalaen er forankret til UTC, er verdien identisk for alle brukere uavhengig av plattformens tidssoneinnstillinger eller overganger til og fra sommertid.
Dette gjør OpenTimestamp til det rette verktøyet for varighetsberegninger. Å trekke to tidsstempler fra hverandre gir en differanse i hele sekunder, noe som er utrygt med HHMMSS-verdier som OpenTime, der sifrene koder timer og minutter snarere enn en lineær telling.
Det tilhørende nøkkelordet Timestamp rapporterer Unix-tiden for barlukkingen. Differansen Timestamp - OpenTimestamp er derfor lik barens varighet på fullførte barer, og barens alder så langt på den levende baren som dannes. Forskjeller mellom åpningstidsstemplene til påfølgende barer avdekker hull i dataene, som pauser over natten eller helger.
Eksempler
Eksempel 1, Sekunder som har gått inne i den gjeldende baren (Indikator)
// Seconds between the bar open and the bar timestamp
elapsed = Timestamp - OpenTimestamp
RETURN elapsedPå fullførte barer er plottet lik barens varighet i sekunder. På den levende baren viser det hvor lenge lysestaken har vært under dannelse.
Eksempel 2, Oppdage et sesjonsgap mellom 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 40Å sammenligne åpningstidsstemplene til to påfølgende barer måler den faktiske tiden som har gått mellom dem, noe som identifiserer den første baren etter et avbrudd over natten eller i helgen.
Eksempel 3, Filtrere ut utdaterte instrumenter (ProScreener)
// Match instruments whose current bar opened within the last 15 minutes
fresh = Timestamp - OpenTimestamp < 900
SCREENER[fresh] ("Fresh bar")Screeneren beholder instrumenter der den siste lysestaken er yngre enn 900 sekunder, og forkaster dem som ikke har levert nye data.
Vanlige feil og fallgruver
- Sekunder, ikke millisekunder. Unix-tidsstempler i ProBuilder teller sekunder. Konstanter som er kopiert fra andre miljøer som bruker millisekundbaserte epoker, vil være feil med en faktor på 1000.
- Å blande tidsstempel- og HHMMSS-systemer.
OpenTimestampligger på en lineær UTC-skala, mensOpenTimeer en sammensatt HHMMSS-verdi i lokal tid. Å sammenligne eller subtrahere verdier på tvers av de to systemene gir meningsløse tall. - Å anta lokal tid. Verdien er forankret til UTC. Øktgrenser definert i lokale timer må håndteres med
OpenTimeellerOpenHour, ikke ved å legge en fast forskyvning til tidsstempelet, siden forskyvninger endres med sommertid. - Barens stenging kontra klokketid. På historiske barer,
Timestamper lukketiden til den baren, ikke øyeblikket nå.Timestamp - OpenTimestampsporer bare en løpende alder på den levende baren som dannes.
Relaterte instruksjoner
Timestamp, Unix-tidsstempel for stengingen av baren.OpenTime, barens åpningstid som et lokalt HHMMSS-heltall.CurrentTime, gjeldende klokketid i HHMMSS-format.TIME, stengetiden for en bar i HHMMSS-format.OpenDate, datoen baren åpnet på, i YYYYMMDD-format.OpenHour, timekomponenten i barens åpningstid.BarIndex, antall barer siden begynnelsen av den innlastede historikken.IntradayBarIndex, barteller som nullstilles ved starten av hver dag.