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
SecondNyckelordet 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)
// Store the seconds portion of the current bar's timestamp
mySecond = Second
RETURN mySecondIndikatorn 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)
// Rebuild an HHMMSS time value from its components
fullTime = Hour * 10000 + Minute * 100 + Second
RETURN fullTimeAtt 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)
// 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 20På 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 = 30kan 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.
Relaterade instruktioner
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.