TIME
TIME restituisce l'orario di chiusura di ogni bar sul grafico, come numero intero HHMMSS. Usa Time[N] in ProBuilder per leggere l'orario delle bar precedenti negli script intraday.
Sintassi
Time
Time[N]Parametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
| N | intero | 0 | Indice del bar da leggere. 0 è la bar corrente, 1 la bar precedente, e così via. |
Come funziona
TIME codifica l'ora di ogni bar come intero compatto in formato HHMMSS. Una bar formata alle 13:15:00 produce 131500: le prime due cifre sono l'ora in formato 24 ore, le due successive i minuti e le ultime due i secondi. Il valore corrisponde al lato di chiusura del bar; il momento di apertura è esposto separatamente tramite OpenTime.
Il valore segue il fuso orario locale configurato nella piattaforma ProRealTime™, quindi un codice identico può corrispondere a bar diverse per utenti con impostazioni diverse.
Poiché il formato è posizionale e non lineare, convertirlo per la visualizzazione richiede di separare le cifre. Dividere per 10000 sposta l'ora davanti al punto decimale, quindi 131500 / 10000 dà 13.15, leggibile come 13:15. È solo un artificio di presentazione: la parte decimale contiene i minuti, non una frazione di ora, quindi il risultato non è adatto al calcolo di durate. I calcoli del tempo trascorso spettano a Timestamp e OpenTimestamp, che contano secondi lineari.
L'indice tra parentesi dà accesso allo storico. Time[1] legge l'orario della barra precedente, cosa che permette controlli come individuare la prima barra di una sessione confrontando valori consecutivi.
Esempi
Esempio 1, Convertire l'orario della bar in un numero leggibile (Indicatore)
// Convert the current bar time into an HH.MM style number
myTime = Time[0] / 10000
RETURN myTimeSe l'ora della bar corrente è 131500, il grafico mostra 13.15, che si legge come 13:15. La conversione è solo per la visualizzazione.
Esempio 2, Chiudere tutte le posizioni prima della fine della sessione (ProOrder)
// Close any open position at or after 21:45
IF Time >= 214500 THEN
SELL AT MARKET
EXITSHORT AT MARKET
ENDIFLa strategia chiude le posizioni long e short quando l'orario della bar raggiunge 21:45, un pattern comune per i sistemi intraday che non devono mantenere posizioni overnight.
Esempio 3, Screening di breakout mattutini (ProScreener)
// Match instruments breaking their 20-bar high during the morning
breakout = high >= Highest[20](high)
morning = Time >= 90000 AND Time <= 120000
SCREENER[breakout AND morning] ("Morning breakout")Lo screener combina una condizione di prezzo con una finestra TIME, così vengono elencati solo i segnali prodotti tra 09:00 e 12:00.
Errori e insidie comuni
- Trattare HHMMSS come lineare.
120000 - 115900equivale a4100, non un minuto. La sottrazione a cavallo di un'ora o di un minuto non ha senso in questo formato; usaTimestampper le durate. - L'uguaglianza esatta salta delle bar.
Time = 100000corrisponde solo quando una barra chiude esattamente alle 10:00:00. Sui timeframe che non si allineano a quell'istante, la condizione non scatta mai. I confronti per intervallo sono più affidabili. - Dipendenza dal fuso orario. I valori seguono l'impostazione del fuso orario locale della piattaforma. Lo stesso script può comportarsi diversamente su un VPS o sulla macchina di un altro utente se le impostazioni non coincidono.
- Confusione tra apertura e chiusura. TIME descrive quando una bar si completa,
OpenTimequando inizia. Su bars orarie le due differiscono di un'ora intera, abbastanza da spostare i filtri di sessione di una bar.
Istruzioni correlate
CurrentTime, ora dell'orologio anziché l'orario di una bar.OpenTime, orario di apertura di una bar in formato HHMMSS.OpenTimestamp, timestamp Unix dell'apertura della bar per il calcolo delle durate.Timestamp, timestamp Unix della chiusura della bar in secondi.Hour, componente ora dell'orario della bar.Minute, componente minuto dell'orario della bar.Second, componente secondi dell'orario della bar.Today, data della bar corrente in formato YYYYMMDD.