Bli medlem idag
Datum och tid/probuilder · probacktest · proorder · proscreener

Hour

Hour returnerar timmen (0 till 23) för en bars stängningstid i ProBuilder. Använd den med offseten [N] för att bygga filter för tid på dagen i intraday-strategier.

Syntax

probuilder
Hour[N]

Parametrar

NamnTypStandardBeskrivning
Nheltal0Baroffset. 0 läser den aktuella baren, 1 den föregående baren och så vidare. Hakparenteserna kan utelämnas för att läsa den aktuella baren.

Så fungerar det

Hour extraherar timkomponenten ur en bars tidsstämpel, uttryckt i 24-timmarsformat. Värdet speglar barens stängningstid, så på ett 1-timmesdiagram rapporterar en bar som öppnar 09:00 och stänger 10:00 Hour = 10. Systernyckelordet OpenHour läser i stället öppningstidsstämpeln för samma bar, vilket är anledningen till att de två nyckelorden kan skilja sig med en bars längd på intraday-diagram.

Den valfria [N] indexet går bakåt genom historiken. Hour[1] är timmen för föregående bars close, Hour[5] stängningstimmen fem barer tillbaka. Det gör det möjligt att jämföra den aktuella tidsluckan med tidigare utan att lagra värden manuellt.

Den returnerade timmen beror på den tidszon som är konfigurerad i plattformen, inte på börsens lokala klocka. Två användare som kör samma kod med olika tidszonsinställningar kan se olika värden för samma bar.

Hour är mest meningsfull på intraday-tidsramar. På dagstidsramar eller högre stänger varje bar vid samma sessionstid, så nyckelordet tillför ingen särskiljande information där.

Exempel

Exempel 1, Identifiera föregående bars stängningstimme (Indikator)

probuilder
// Flag bars whose previous bar closed during the 9 o'clock hour
IF (Hour[1] = 9) THEN
  lasthourwasnine = 1
ELSE
  lasthourwasnine = 0
ENDIF
RETURN lasthourwasnine

Indikatorn ritar 1 när föregående bars stängningstimme var 9, och 0 annars. [1] offset flyttar läsningen en bar bakåt i tiden.

Exempel 2, Begränsa entries till ett handelsfönster (ProOrder)

probuilder
// Only allow new long entries between 09:00 and 17:00
timeOK = Hour >= 9 AND Hour < 17

IF timeOK AND close CROSSES OVER Average[50](close) THEN
  BUY 1 SHARES AT MARKET
ENDIF

Den timeOK flaggan spärrar entries så att systemet förblir inaktivt utanför de valda sessionstimmarna, ett vanligt sätt att undvika tunna nattmarknader.

Exempel 3, Screena för momentum sent i sessionen (ProScreener)

probuilder
// Match instruments making a new 20-bar high after 15:00
lateSession = Hour >= 15
newHigh = close >= Highest[20](close)

SCREENER[lateSession AND newHigh] (Hour AS "Close hour")

Screenern returnerar endast instrument vars senaste bar stängde 15:00 eller senare samtidigt som den satte en högsta stängning över 20 barer, och visar stängningstimmen som sorteringskolumn.

Vanliga fel och fallgropar

  • Stängningstid, inte öppningstid. Hour läser barens stängningstidsstämpel. På ett 1-timmesdiagram returnerar baren som täcker 09:00 till 10:00 värdet 10, inte 9. Använd OpenHour när logiken ska utgå från tidpunkten då en bar började.
  • Beroende av tidszon. Värdet följer plattformens konfigurerade tidszon. Kod som hårdkodar börstider går sönder tyst när den körs med en annan tidszonsinställning.
  • Oanvändbar på dagsdiagram. På dags- och högre tidsramar rapporterar varje bar samma stängningstimme, så villkor som Hour = 9 matchar antingen alltid eller aldrig. Använd nyckelordet på intraday-tidsramar.
  • Övergång vid midnatt. Sessioner som sträcker sig över midnatt kan inte testas med en enda intervallkontroll. Ett fönster från 22:00 till 02:00 kräver Hour >= 22 OR Hour < 2, inte en AND-kombination.
  • OpenHour, timme för den aktuella barens öppningstid, syskonformen till Hour.
  • CurrentHour, timmen på maskinens klocka i stället för en tidsstämpel på en bar.
  • Minute, minutkomponenten (0 till 59) i en bars stängningstid.
  • Month, månadsnummer (1 till 12) för en bars stängningsdatum.
  • Day, dag i månaden för en bars stängningsdatum.
  • DayOfWeek, veckodag för en bars stängningsdatum.
  • TIME, fullständig stängningstid för en bar i formatet HHMMSS.
  • Today, datumet för den aktuella baren i formatet YYYYMMDD.