CurrentMinute
CurrentMinute returnerar minuten på klockan vid exekveringstillfället, 0 till 59, identisk på varje bar i diagrammet. Använd Minute för att läsa minuten för varje bars stängning.
Syntax
CurrentMinuteSå fungerar det
CurrentMinute läser klockan i det ögonblick koden körs och returnerar minuten inom den aktuella timmen, från 0 till 59. Referensen är tidszonen för instrumentets marknad, som kan skilja sig från den lokala datorn. Konstanten tar inga parametrar och ingen förskjutning i hakparenteser.
Värdet hör till Current-familjen av datum- och tidskonstanter, som beskriver exekveringsögonblicket snarare än någon bar i diagrammet. Varje bar i en beräkning ser därför samma tal: en indikator som uppdateras 14:20 returnerar 20 på varje historisk bar. Syskonkonstanten per bar är Minute, som returnerar minuten för stängningen av varje bar som behandlas och förändras längs tidsaxeln. Sessionsfilter som tillämpas på historiska data hör till Minute eller TIME; CurrentMinute beskriver klockan just nu.
I ett ProOrder-system live är CurrentMinute meningsfull, eftersom koden exekveras i realtid när barer kommer in. I ett backtest återspeglar den minuten då testet körs, vilket gör den olämplig för historiska entry- eller exitvillkor.
Exempel
Exempel 1, Flagga vid timmens början (Indikator)
// Set the flag when the script executes in the first minute of an hour
IF (CurrentMinute = 0) THEN
onTheHour = 1
ELSE
onTheHour = 0
ENDIF
RETURN onTheHourIndikatorn ritar 1 över hela diagrammet när den räknas om mellan minut 0 och minut 0 i den aktuella timmen, och 0 vid alla andra tidpunkter i timmen.
Exempel 2, Skanning på en bestämd minut (ProScreener)
// Return matches only during the first half of the current hour
inFirstHalf = CurrentMinute < 30
SCREENER[inFirstHalf AND close > Average[20](close)] (close AS "Close")Screenern returnerar en tom lista när klockan passerat minut 30, ett sätt att hålla en schemalagd skanning tyst under andra halvan av varje timme.
Exempel 3, Minutanpassat entry (ProOrder)
// Only allow entries near the top of the hour
DEFPARAM CumulateOrders = false
readyToTrade = CurrentMinute <= 5
IF readyToTrade AND close CROSSES OVER Average[20](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIFLive tar systemet bara signaler under timmens första fem minuter. Backtest kan inte pröva den här grenen på ett meningsfullt sätt, eftersom CurrentMinute innehåller minuten för testkörningen på varje bar.
Vanliga fel och fallgropar
- Samma värde på varje bar. CurrentMinute beskriver klockan, inte diagrammet, så ett villkor som
CurrentMinute = 0är sant eller falskt för hela beräkningen på en gång. Tidslogik per bar kräverMinuteellerTIME. - Blind fläck i backtest. I ett backtest returnerar CurrentMinute minuten då testet exekveras, så filter byggda på den släpper igenom eller blockerar allt och ger resultat som inte stämmer med beteendet live.
- Marknadens tidszon, inte lokal tid. Minuten utgår från instrumentets marknad. Läsningen av klockan justeras inte för betraktarens lokala förskjutning.
- Ingen bracket-offset.
CurrentMinute[1]kompilerar inte. Endast konstanter per bar somMinute[N]accepterar ett index.
Relaterade instruktioner
Minute, minut för stängningen av varje bar, motsvarigheten per bar till den här konstanten.OpenMinute, minuten vid öppningen av varje bar.CurrentHour, klockans timme vid exekveringstidpunkten.CurrentSecond, klockans sekund vid exekveringstidpunkten.CurrentTime, fullständig klocktid vid exekvering som ett HHMMSS-heltal.CurrentYear, klockans år vid exekveringstidpunkten.TIME, stängningstiden för varje bar som ett HHMMSS-heltal.Timestamp, UNIX-tid för stängningen av varje bar.