OpenTime
OpenTime returnerar öppningstiden för den aktuella baren som ett HHMMSS-heltal i plattformens lokala tidszon. Används för tidsbaserade villkor i ProBuilder.
Syntax
OpenTimeNyckelordet tar inga parametrar. Liksom andra datum- och tidskonstanter accepterar det ett valfritt historikindex inom hakparentes, så OpenTime[1] läser öppningstiden för föregående bar.
Så fungerar det
Varje bar i ett diagram registrerar ögonblicket då den började formas. OpenTime exponerar det ögonblicket som ett enda heltal i HHMMSS-format: de två första siffrorna är timmen i 24-timmarsformat, de två följande minuterna och de två sista sekunderna. En bar som öppnar 09:30:00 ger därför 93000, och en som öppnar 14:05:30 ger 140530.
Värdet följer den lokala tidszon som ställts in i ProRealTime™-plattformens inställningar, inte börsens tidszon eller UTC. Två användare som kör identisk kod med olika tidszonsinställningar kan observera olika OpenTime-värden för samma bar.
OpenTime passar naturligt ihop med TIME, som rapporterar stängningstiden för en bar. I intraday-diagram skiljer de två sig med barens längd. För en epokbaserad, tidszonsoberoende motsvarighet till barens öppning, använd OpenTimestamp istället.
Eftersom resultatet är ett vanligt heltal kan det jämföras med literaler (OpenTime >= 80000), lagras i variabler eller kombineras med andra uttryck inuti vilken villkorssats som helst.
Exempel
Exempel 1, flagga sessionens öppningsbar (Indikator)
sessionStart = 0
// Flag the bar that opened at exactly 09:30:00
IF OpenTime = 93000 THEN
sessionStart = 1
ENDIF
RETURN sessionStartIndikatorn ritar 1 på den bar som öppnade 9:30 AM lokal tid och 0 överallt annars, ett enkelt sätt att markera starten på en handelssession.
Exempel 2, begränsa entries till ett morgonfönster (ProOrder)
// Allow new long entries only on bars opening between 08:00 and 11:30
IF OpenTime >= 80000 AND OpenTime <= 113000 THEN
IF NOT LongOnMarket AND close CROSSES OVER Average[50](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIF
ENDIF
SET STOP PLOSS 30Det yttre villkoret fungerar som ett tidsfilter, så att korsningen av glidande medelvärden endast kan utlösa en position under det definierade morgonfönstret.
Exempel 3, screening efter barer sent i sessionen (ProScreener)
// Match instruments whose current bar opened at or after 16:00
lateOpen = OpenTime >= 160000
SCREENER[lateOpen] ("Open time")Screenern returnerar instrument vars senaste bar öppnade under handelsdagens sista sträcka, användbart för att skilja sena avslut från inaktuella data.
Vanliga fel och fallgropar
- Fel antal siffror i jämförelser. 9:30 AM är
93000, inte930eller0930. Värdet är ett numeriskt HHMMSS-sammansatt värde, så varje jämförelseliteral måste skriva ut timmar, minuter och sekunder. - Beroende av tidszon. OpenTime speglar plattformens inställning för lokal tidszon. Kod som delas mellan användare i olika tidszoner, eller körs på en VPS med en annan klocka, matchar olika barer om inte inställningarna stämmer överens.
- Att förväxla öppnings- och stängningstider.
TIMErapporterar när en bar stänger, OpenTime rapporterar när den öppnar. I ett 1-timmesdiagram skiljer de sig med en timme, vilket räcker för att förskjuta ett entryfilter med en hel bar. - Exakt likhet på tidsramar som inte matchar.
OpenTime = 93000matchar bara när en bar faktiskt öppnar på just den sekunden. I ett 7-minuters- eller tick-baserat diagram kan ingen bar uppfylla likheten, så intervalljämförelser är säkrare.
Relaterade instruktioner
CurrentTime, aktuell klocktid i stället för barens öppning.TIME, stängningstid för en bar i samma HHMMSS-format.OpenTimestamp, Unix-tidsstämpel för barens öppning, oberoende av tidszon.Timestamp, Unix-tidsstämpel för barens stängning.OpenHour, timkomponenten i barens öppningstid.OpenMinute, minutkomponenten i barens öppningstid.OpenSecond, sekundkomponenten i barens öppningstid.OpenDate, datumet då baren öppnade, i formatet YYYYMMDD.