Iscriviti ora
Istruzioni/probuilder · probacktest · proorder · proscreener

IntradayBarIndex

IntradayBarIndex in ProBuilder conta le bar stampate dall'inizio della giornata di negoziazione, partendo da 0, e accetta un offset per leggere le sessioni precedenti.

Sintassi

probuilder
IntradayBarIndex
IntradayBarIndex[N]

Parametri

NomeTipoPredefinitoDescrizione
Nintero0Offset del bar opzionale. IntradayBarIndex[1] legge il valore come era un bar prima.

Come funziona

IntradayBarIndex numera le bar di ogni sessione di negoziazione. La prima bar dopo l'apertura giornaliera ha indice 0, la bar successiva 1, e così via fino alla fine della sessione, momento in cui il contatore riparte per il giorno successivo. Alla 50ª bar del giorno il valore è 49.

Il conteggio dipende dal timeframe del grafico. Su un grafico a 5 minuti di un mercato aperto per 8 ore, l'indice va da 0 a 95; su un grafico a 1 ora dello stesso mercato va da 0 a 7. Il codice che condiziona il comportamento a un indice specifico incorpora quindi un'ipotesi sul timeframe, che vale la pena indicare in un commento.

L'offset opzionale tra parentesi segue la consueta convenzione delle serie, leggendo il valore da una bar precedente. Mentre BarIndex conta le bar dall'inizio dei dati caricati e non si azzera mai, IntradayBarIndex è la controparte relativa alla sessione, il che lo rende lo strumento naturale per la logica legata all'apertura, come saltare le prime bar volatili del giorno o misurare la posizione all'interno della sessione.

Esempi

Esempio 1, Visualizzare il conteggio delle bar della sessione (Indicatore)

probuilder
// Index of the current bar within today's session, first bar = 0
RETURN IntradayBarIndex

Il tracciato sale di uno a ogni bar del giorno e torna a 0 quando inizia una nuova sessione, il che rende anche i confini di sessione visibili a prima vista.

Esempio 2, Saltare le prime bar del giorno (ProOrder)

probuilder
// Only trade once 4 bars of the session have completed
IF IntradayBarIndex >= 4 AND NOT ONMARKET THEN
  IF close CROSSES OVER Average[20](close) THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ENDIF

La condizione esterna blocca gli ingressi durante le prime quattro bar dopo l'apertura, un modo comune per evitare il movimento di prezzo erratico attorno all'inizio della sessione.

Esempio 3, Segnare ogni apertura di sessione (Indicatore)

probuilder
// Draw a vertical line on the first bar of every trading day
IF IntradayBarIndex = 0 THEN
  DRAWVLINE(BarIndex) COLOURED(128, 128, 128)
ENDIF
RETURN

Verificare l'indice 0 identifica la prima bar del giorno, e DRAWVLINE la segna sul grafico, producendo una griglia visiva dei confini di sessione.

Errori e insidie comuni

  • Conteggio a partire da zero. La prima bar del giorno è 0, non 1. Una condizione come IntradayBarIndex = 1 si attiva sul secondo bar della sessione.
  • Valori dipendenti dal timeframe. Lo stesso indice si riferisce a orari diversi su timeframe diversi. Spostare uno script da un grafico a 5 minuti a uno a 15 minuti cambia silenziosamente ciò che IntradayBarIndex >= 4 significa.
  • Confusione con BarIndex. BarIndex conta dall'inizio della cronologia caricata e non si azzera mai; IntradayBarIndex si azzera ogni giorno. Scambiarli produce condizioni vere quasi sempre o quasi mai.
  • Grafici non intraday. Sui timeframe giornalieri o superiori ogni bar è la prima bar del suo giorno, quindi il valore non è significativo. Limitane l'uso ai timeframe intraday.
  • BarIndex, conteggio delle bar dall'inizio dei dati caricati, senza azzeramenti giornalieri.
  • BarsSince, bar trascorse da quando una condizione è stata vera per l'ultima volta.
  • TIME, ora della bar corrente, un modo alternativo per ancorare la logica intraday.
  • CurrentTime, ora dell'orologio della macchina che esegue la piattaforma.
  • CurrentHour, componente dell'ora dell'orario corrente.
  • Today, costante di data per il giorno corrente.
  • OpenTime, ora di apertura della bar corrente.