CurrentMinute
CurrentMinute restituisce il minuto dell'orologio al momento dell'esecuzione, da 0 a 59, identico su ogni bar del grafico. Usa Minute per leggere il minuto della chiusura di ogni bar.
Sintassi
CurrentMinuteCome funziona
CurrentMinute legge l'orologio nel momento in cui il codice viene eseguito e restituisce il minuto all'interno dell'ora corrente, da 0 a 59. Il riferimento è il fuso orario del mercato dello strumento, che può differire da quello della macchina locale. La costante non accetta parametri né offset tra parentesi quadre.
Il valore appartiene alla famiglia Current di costanti di data e ora, che descrivono il momento dell'esecuzione anziché un bar del grafico. Ogni bar di un calcolo vede quindi lo stesso numero: un indicatore aggiornato alle 14:20 restituisce 20 su ogni bar storico. La costante equivalente per bar è Minute, che restituisce il minuto della chiusura di ogni barra elaborata e cambia lungo l'asse temporale. I filtri di sessione applicati ai dati storici vanno usati con Minute o TIME; CurrentMinute descrive l'ora corrente dell'orologio.
In un sistema ProOrder live CurrentMinute è significativo, poiché il codice viene eseguito in tempo reale man mano che arrivano le bar. In un backtest riflette il minuto in cui viene eseguito il test, il che lo rende inadatto a condizioni storiche di ingresso o uscita.
Esempi
Esempio 1, Flag di inizio ora (Indicatore)
// 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 onTheHourL'indicatore traccia 1 su tutto il grafico quando viene ricalcolato tra il minuto 0 e il minuto 0 dell'ora corrente, e 0 in qualsiasi altro punto dell'ora.
Esempio 2, Scansione a un minuto prestabilito (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")Lo screener restituisce un elenco vuoto una volta che l'orologio supera il minuto 30, un modo per mantenere silenziosa una scansione programmata nella seconda metà di ogni ora.
Esempio 3, Ingresso allineato al minuto (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
ENDIFIn live, il sistema prende segnali solo nei primi cinque minuti dell'ora. I backtest non possono esercitare questo ramo in modo significativo, perché CurrentMinute contiene su ogni bar il minuto dell'esecuzione del test.
Errori e insidie comuni
- Stesso valore su ogni bar. CurrentMinute descrive l'orologio, non il grafico, quindi una condizione come
CurrentMinute = 0è vero o falso per l'intero calcolo in una sola volta. La logica temporale bar per bar richiedeMinuteoTIME. - Punto cieco del backtest. In un backtest CurrentMinute restituisce il minuto in cui viene eseguito il test, quindi i filtri costruiti su di esso passano o bloccano in blocco e producono risultati che non corrispondono al comportamento live.
- Fuso orario del mercato, non ora locale. Il minuto è riferito al mercato dello strumento. La lettura dell'orologio non si adatta allo scarto locale di chi guarda.
- Nessun offset tra parentesi.
CurrentMinute[1]non compila. Solo costanti per bar comeMinute[N]accettano un indice.
Istruzioni correlate
Minute, minuto della chiusura di ogni bar, l'equivalente per bar di questa costante.OpenMinute, minuto all'apertura di ogni bar.CurrentHour, ora dell'orologio al momento dell'esecuzione.CurrentSecond, secondo dell'orologio al momento dell'esecuzione.CurrentTime, orario completo dell'orologio all'esecuzione come intero HHMMSS.CurrentYear, anno dell'orologio al momento dell'esecuzione.TIME, orario di chiusura di ogni bar come intero HHMMSS.Timestamp, tempo UNIX della chiusura di ogni bar.