IntradayBarIndex
IntradayBarIndex en ProBuilder cuenta los bars impresos desde el inicio de la jornada de negociación, empezando en 0, y acepta un desplazamiento para leer sesiones anteriores.
Sintaxis
IntradayBarIndex
IntradayBarIndex[N]Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
| N | entero | 0 | Desplazamiento de bar opcional. IntradayBarIndex[1] lee el valor tal como era un bar antes. |
Cómo funciona
IntradayBarIndex numera los bars de cada sesión de negociación. El primer bar tras la apertura diaria lleva el índice 0, el siguiente bar el 1, y así hasta que termina la sesión, momento en el que el contador se reinicia para el día siguiente. En el bar número 50 del día el valor es 49.
El recuento depende del marco temporal del gráfico. En un gráfico de 5 minutos de un mercado abierto durante 8 horas, el índice va de 0 a 95; en un gráfico de 1 hora del mismo mercado va de 0 a 7. Por tanto, el código que condiciona el comportamiento a un índice concreto codifica una suposición sobre el marco temporal, lo que conviene indicar en un comentario.
El desplazamiento opcional entre corchetes sigue la convención habitual de series, leyendo el valor de un bar anterior. Mientras que BarIndex cuenta los bars desde el principio de los datos cargados y nunca se reinicia, IntradayBarIndex es la contrapartida relativa a la sesión, lo que lo convierte en la herramienta natural para la lógica ligada a la apertura, como omitir los volátiles primeros bars del día o medir la posición dentro de la sesión.
Ejemplos
Ejemplo 1, Mostrar el recuento de bars de la sesión (Indicador)
// Index of the current bar within today's session, first bar = 0
RETURN IntradayBarIndexEl trazado sube de uno en uno en cada bar del día y vuelve a 0 cuando comienza una nueva sesión, lo que además hace visibles de un vistazo los límites de sesión.
Ejemplo 2, Omitir los primeros bars del día (ProOrder)
// 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
ENDIFLa condición exterior bloquea las entradas durante los primeros cuatro bars tras la apertura, una forma habitual de evitar la acción errática del precio en torno al inicio de la sesión.
Ejemplo 3, Marcar cada apertura de sesión (Indicador)
// Draw a vertical line on the first bar of every trading day
IF IntradayBarIndex = 0 THEN
DRAWVLINE(BarIndex) COLOURED(128, 128, 128)
ENDIF
RETURNComprobar el índice 0 identifica el primer bar del día, y DRAWVLINE lo marca en el gráfico, produciendo una cuadrícula visual de los límites de sesión.
Errores y trampas habituales
- Recuento basado en cero. La primera bar del día es 0, no 1. Una condición como
IntradayBarIndex = 1se activa en el segundo bar de la sesión. - Valores dependientes del marco temporal. El mismo índice se refiere a horas de reloj distintas en marcos temporales distintos. Pasar un script de un gráfico de 5 minutos a uno de 15 minutos cambia de forma silenciosa lo que
IntradayBarIndex >= 4significa. - Confusión con BarIndex. BarIndex cuenta desde el inicio del historial cargado y nunca se reinicia; IntradayBarIndex se reinicia a diario. Intercambiarlos produce condiciones que son verdaderas casi siempre o casi nunca.
- Gráficos no intraday. En marcos temporales diarios o superiores cada bar es el primer bar de su día, por lo que el valor no es significativo. Limita su uso a marcos temporales intraday.
Instrucciones relacionadas
BarIndex, recuento de bars desde el inicio de los datos cargados, sin reinicios diarios.BarsSince, bars transcurridos desde la última vez que una condición fue verdadera.TIME, hora del bar actual, una forma alternativa de anclar la lógica intraday.CurrentTime, hora del reloj de la máquina que ejecuta la plataforma.CurrentHour, componente de hora de la hora actual.Today, constante de fecha para el día actual.OpenTime, hora de apertura del bar actual.