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

Second

Second returnerar antalet sekunder efter minuten, 0 till 59, för den aktuella candlestickens tidsstämpel i ProBuilder. Relevant endast på sekundbaserade intraday-diagram.

Syntax

probuilder
Second

Nyckelordet tar inga parametrar. Ett historikindex i hakparenteser läser tidigare barer, så Second[1] ger sekundkomponenten i föregående bars tidsstämpel.

Så fungerar det

Varje bar bär en tidsstämpel, och Second isolerar dess sekundfält. Resultatet är alltid ett heltal mellan 0 och 59. På ett 15-sekundersdiagram cyklar värdena för efterföljande barer genom 15, 30, 45, 0, medan värdet på varje diagram vars tidsram är en minut eller grövre är 0 på varje bar, eftersom sådana barer alltid stänger exakt på en minutgräns.

Utdatans precision beror därför helt på diagrammets granularitet. Skript som förlitar sig på Second beter sig meningsfullt endast på sekundbaserade intraday-diagram, vilket är där timing ner till sekunden spelar roll, till exempel kring schemalagda nyhetssläpp.

Second beskriver barens tidsstämpel, som motsvarar barens stängning. Sekundkomponenten för barens öppning är tillgänglig via OpenSecond, och sekundfältet i klocktiden genom CurrentSecond. Kombinerat med Hour och Minute, kan nyckelordet bygga om ett komplett HHMMSS-värde från sina delar.

Exempel

Exempel 1, Läsa sekundfältet för varje bar (Indikator)

probuilder
// Store the seconds portion of the current bar's timestamp
mySecond = Second
RETURN mySecond

Indikatorn ritar sekundkomponenten bar för bar, vilket är ett snabbt sätt att verifiera diagrammets granularitet eller att felsöka tidsbaserad logik.

Exempel 2, Återskapa ett fullständigt HHMMSS-värde (Indikator)

probuilder
// Rebuild an HHMMSS time value from its components
fullTime = Hour * 10000 + Minute * 100 + Second
RETURN fullTime

Att multiplicera varje komponent till sin decimalposition återskapar samma sammansatta format som används av TIME, användbart när delarna först hanteras separat.

Exempel 3, Agera endast vid minutgränser (ProOrder)

probuilder
// On a 15-second chart, act only on bars closing exactly on the minute
IF Second = 0 AND NOT OnMarket THEN
  IF close > Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ENDIF
SET STOP PLOSS 20

På ett sekundbaserat diagram är villkoret Second = 0 väljer en bar per minut, vilket tunnar ut signalfrekvensen utan att ändra diagrammets tidsram.

Vanliga fel och fallgropar

  • Alltid noll på minutdiagram och uppåt. På 1-minuters-, timme- eller dagsdiagram returnerar Second 0 på varje bar. Ett villkor som Second = 30 kan då aldrig vara sant, och det omgivande blocket blir död kod.
  • Barens tidsstämpel kontra klocktid. Second läser barens tidsstämpel, inte den aktuella tiden på dagen. För den aktuella klockan, CurrentSecond är det rätta nyckelordet; de två sammanfaller bara i det ögonblick en bar stänger.
  • Stängning kontra öppning. Barens tidsstämpel motsvarar barens stängning. Sekundfältet för öppningsögonblicket kräver OpenSecond, och de två skiljer sig med barens längd på sekundbaserade diagram.
  • CurrentSecond, sekundfältet i den aktuella klocktiden.
  • OpenSecond, sekundkomponenten i barens öppningstid.
  • Minute, minutkomponenten i barens tidsstämpel.
  • Hour, timkomponenten i barens tidsstämpel.
  • TIME, fullständig stängningstid för en bar i formatet HHMMSS.
  • Timestamp, Unix-tidsstämpel för barens stängning i sekunder.