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

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

probuilder
OpenTimestamp

Nø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)

probuilder
// Seconds between the bar open and the bar timestamp
elapsed = Timestamp - OpenTimestamp
RETURN elapsed

På 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)

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

probuilder
// 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. OpenTimestamp ligger på en lineær UTC-skala, mens OpenTime er 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 OpenTime eller OpenHour, ikke ved å legge en fast forskyvning til tidsstempelet, siden forskyvninger endres med sommertid.
  • Barens stenging kontra klokketid. På historiske barer, Timestamp er lukketiden til den baren, ikke øyeblikket nå. Timestamp - OpenTimestamp sporer bare en løpende alder på den levende baren som dannes.
  • 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.