CurrentMinute
CurrentMinute geeft de minuut van de klok op het moment van uitvoering, 0 tot 59, identiek op elke bar van de grafiek. Gebruik Minute om de minuut van het slot van elke bar te lezen.
Syntaxis
CurrentMinuteHoe het werkt
CurrentMinute leest de klok op het moment dat de code wordt uitgevoerd en geeft de minuut binnen het huidige uur, van 0 tot 59. De referentie is de tijdzone van de markt van het instrument, die kan afwijken van de lokale machine. De constante neemt geen parameters en geen offset tussen rechte haken.
De waarde hoort tot de Current-familie van datum- en tijdconstanten, die het moment van uitvoering beschrijven en niet een bar op de grafiek. Elke bar van een berekening ziet daarom hetzelfde getal: een indicator die om 14:20 wordt ververst, geeft 20 op elke historische bar. De tegenhanger per bar is Minute, die de minuut van de close van elke verwerkte bar geeft en meebeweegt langs de tijdas. Sessiefilters toegepast op historische data horen bij Minute of TIME; CurrentMinute beschrijft de actuele kloktijd.
In een live ProOrder-systeem is CurrentMinute zinvol, omdat de code in realtime wordt uitgevoerd terwijl bars binnenkomen. In een backtest weerspiegelt het de minuut waarop de test wordt uitgevoerd, wat het ongeschikt maakt voor historische instap- of uitstapvoorwaarden.
Voorbeelden
Voorbeeld 1, Markering op het hele uur (Indicator)
// 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 onTheHourDe indicator plot 1 over de hele grafiek wanneer hij wordt herberekend tussen minuut 0 en minuut 0 van het huidige uur, en 0 op elk ander moment in het uur.
Voorbeeld 2, Scan op een vaste minuut (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")De screener geeft een lege lijst terug zodra de klok minuut 30 voorbij is, een manier om een geplande scan in de tweede helft van elk uur stil te houden.
Voorbeeld 3, Instap afgestemd op de minuut (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 neemt het systeem alleen signalen in de eerste vijf minuten van het uur. Backtests kunnen deze tak niet zinvol doorlopen, omdat CurrentMinute op elke bar de minuut van de testrun bevat.
Veelvoorkomende fouten en valkuilen
- Dezelfde waarde op elke bar. CurrentMinute beschrijft de klok, niet de grafiek, dus een conditie zoals
CurrentMinute = 0is waar of onwaar voor de hele berekening in één keer. Timinglogica per bar vereistMinuteofTIME. - Blinde vlek in de backtest. In een backtest geeft CurrentMinute de minuut waarop de test wordt uitgevoerd, dus filters die erop zijn gebouwd laten alles door of blokkeren alles en leveren resultaten op die niet overeenkomen met live gedrag.
- Tijdzone van de markt, niet de lokale tijd. De minuut is gerefereerd aan de markt van het instrument. Het lezen van de klok corrigeert niet voor de lokale afwijking van de kijker.
- Geen offset tussen haakjes.
CurrentMinute[1]compileert niet. Alleen constanten per bar zoalsMinute[N]accepteren een index.
Gerelateerde instructies
Minute, minuut van het slot van elke bar, de variant per bar van deze constante.OpenMinute, minuut bij de open van elke bar.CurrentHour, uur van de klok op het moment van uitvoering.CurrentSecond, seconde van de klok op het moment van uitvoering.CurrentTime, volledige kloktijd bij uitvoering als geheel getal in HHMMSS.CurrentYear, jaar van de klok op het moment van uitvoering.TIME, sluitingstijd van elke bar als geheel getal in HHMMSS.Timestamp, UNIX-tijd van de close van elke bar.