IntradayBarIndex
IntradayBarIndex dans ProBuilder compte les bars imprimés depuis le début de la journée de trading, en commençant à 0, et accepte un décalage pour lire les séances précédentes.
Syntaxe
IntradayBarIndex
IntradayBarIndex[N]Paramètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
| N | entier | 0 | Décalage de bar optionnel. IntradayBarIndex[1] lit la valeur telle qu'elle était un bar plus tôt. |
Comment ça marche
IntradayBarIndex numérote les bars de chaque séance de trading. Le premier bar après l'ouverture quotidienne porte l'index 0, le bar suivant 1, et ainsi de suite jusqu'à la fin de la séance, moment où le compteur redémarre pour le jour suivant. Sur le 50e bar de la journée, la valeur est 49.
Le décompte dépend de l'unité de temps du graphique. Sur un graphique 5 minutes d'un marché ouvert 8 heures, l'index va de 0 à 95 ; sur un graphique 1 heure du même marché, il va de 0 à 7. Un code qui conditionne son comportement à un index précis encode donc une hypothèse sur l'unité de temps, qu'il vaut la peine d'indiquer dans un commentaire.
Le décalage optionnel entre crochets suit la convention habituelle des séries, en lisant la valeur d'un bar précédent. Là où BarIndex compte les bars depuis le début des données chargées et ne se réinitialise jamais, IntradayBarIndex en est l'équivalent relatif à la séance, ce qui en fait l'outil naturel pour une logique liée à l'ouverture, comme ignorer les premiers bars volatils de la journée ou mesurer la position au sein de la séance.
Exemples
Exemple 1, Afficher le nombre de bars de la séance (Indicateur)
// Index of the current bar within today's session, first bar = 0
RETURN IntradayBarIndexLe tracé monte de un à chaque bar de la journée et retombe à 0 lorsqu'une nouvelle séance commence, ce qui rend aussi les limites de séance visibles d'un coup d'œil.
Exemple 2, Ignorer les premiers bars de la journée (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 condition externe bloque les entrées pendant les quatre premiers bars après l'ouverture, une façon courante d'éviter l'action des prix erratique autour du début de séance.
Exemple 3, Marquer chaque ouverture de séance (Indicateur)
// Draw a vertical line on the first bar of every trading day
IF IntradayBarIndex = 0 THEN
DRAWVLINE(BarIndex) COLOURED(128, 128, 128)
ENDIF
RETURNTester l'index 0 identifie le premier bar de la journée, et DRAWVLINE le marque sur le graphique, produisant une grille visuelle des limites de séance.
Erreurs et pièges courants
- Décompte commençant à zéro. Le premier bar de la journée est 0, pas 1. Une condition comme
IntradayBarIndex = 1se déclenche au deuxième bar de la séance. - Valeurs dépendantes de l'unité de temps. Le même indice renvoie à des heures différentes selon l'unité de temps. Passer un script d'un graphique 5 minutes à un graphique 15 minutes change silencieusement ce que
IntradayBarIndex >= 4signifie. - Confusion avec BarIndex. BarIndex compte depuis le début de l'historique chargé et ne se réinitialise jamais ; IntradayBarIndex se réinitialise chaque jour. Les intervertir produit des conditions qui sont vraies soit presque toujours, soit presque jamais.
- Graphiques non intraday. Sur les unités de temps journalières ou supérieures, chaque bar est le premier bar de sa journée, donc la valeur n'a pas de sens. Limitez son usage aux unités de temps intraday.
Instructions liées
BarIndex, nombre de bars depuis le début des données chargées, sans réinitialisation quotidienne.BarsSince, bars écoulés depuis la dernière fois qu'une condition était vraie.TIME, heure du bar courant, une autre façon d'ancrer la logique intraday.CurrentTime, heure de l'horloge de la machine exécutant la plateforme.CurrentHour, composante horaire de l'heure courante.Today, constante de date pour le jour courant.OpenTime, heure d'ouverture du bar courant.