HighestBars
HighestBars en ProBuilder renvoie le décalage en bars jusqu'à la valeur la plus haute d'une série sur une période, 0 signifiant que le bar courant contient la valeur la plus haute.
Syntaxe
HighestBars[Period](source)Paramètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
| Période | entier | requis | Nombre de bars passés à parcourir, y compris le bar courant. |
| source | série numérique | requis | La série à parcourir, telle que close, high, volume, ou un indicateur. |
Formule
Pour une fenêtre de Period bars se terminant au bar actuel :
HighestBars[Period](x) = offset k in [0, Period - 1]
where x[k] is the maximum of the windowSi aucun maximum ne peut être déterminé dans la fenêtre, la fonction renvoie -1.
Comment ça marche
HighestBars repère la position du maximum plutôt que le maximum lui-même. Là où Highest[20](close) répond à « quelle a été la clôture la plus haute des 20 derniers bars », HighestBars[20](close) répond à la question « il y a combien de temps cela s'est-il produit ». Le résultat est un décalage en bars compté en arrière depuis le bar courant, il s'insère donc directement dans l'indexation des séries : close[HighestBars[20](close)] lit la clôture la plus haute de la fenêtre.
L'offset part de zéro. Une valeur de retour de 0 signifie que la bar courante porte la valeur la plus haute, ce qui est en soi un signal utile, marquant de nouveaux plus hauts sur la fenêtre. Lorsque plusieurs bars partagent la même valeur maximale, la fonction renvoie la première occurrence trouvée en remontant depuis la bar courante, c'est-à-dire la plus récente.
La valeur se met à jour à chaque bar. À mesure que la fenêtre avance, un ancien sommet finit par sortir de la fenêtre et la fonction saute au décalage du bar le plus haut suivant encore présent à l'intérieur.
Exemples
Exemple 1, Étiquetage de la clôture la plus haute (Indicateur)
myHighest = HighestBars[10](close)
IF myHighest > 0 THEN
// Place a label on the bar that holds the highest close of the window
DRAWTEXT("Highest close in last 10 bars", barindex - myHighest, close[myHighest])
ENDIFHighestBars trouve combien de bars en arrière s'est produite la clôture la plus haute des 10 derniers bars, et DRAWTEXT ancre une étiquette sur ce bar. Le contrôle myHighest > 0 ignore les bars où la clôture actuelle est elle-même le maximum.
Exemple 2, Nombre de bars depuis le plus haut de 50 bars (Indicateur)
// Plot the age of the highest high inside a 50-bar window
RETURN HighestBars[50](high) AS "bars since 50-bar high"La ligne tracée retombe à 0 chaque fois qu'un nouveau plus haut de 50 bars s'inscrit et monte de un à chaque bar qui ne parvient pas à le dépasser, une mesure compacte de l'ancienneté du plus haut courant.
Exemple 3, Entrer uniquement sur de nouveaux plus hauts (ProOrder)
recency = HighestBars[20](close)
// An offset of 0 means this bar set the highest close of the window
IF recency = 0 AND NOT ONMARKET THEN
BUY 1 CONTRACT AT MARKET
ENDIF
SET STOP PLOSS 40La stratégie n'achète que sur les bars qui établissent un nouveau plus haut de clôture sur 20 bars, en utilisant le décalage zéro comme confirmation de breakout.
Erreurs et pièges courants
- Décalage, pas valeur. HighestBars renvoie un nombre de bars, pas un prix. Le tracer comme s'il s'agissait de la valeur du sommet produit une dent de scie entre 0 et Period. Utilisez
Highestpour la valeur elle-même. - Comptage à partir de zéro. 0 désigne la bar en cours, donc la valeur de retour maximale est
Period - 1. Une logique écrite comme si le comptage commençait à 1 manque complètement les nouveaux plus hauts. - Le cas -1. Lorsque la fenêtre ne peut pas produire de maximum, la fonction renvoie -1. Injecter directement cette valeur dans un indice de série tel que
close[-1]est invalide, protégez donc le résultat avant de l'indexer. - Les égalités se résolvent en faveur du bar le plus récent. En cas de maxima identiques dans la fenêtre, le plus petit décalage l'emporte. Les calculs qui supposent la plus ancienne occurrence seront faussés de l'écart entre les doublons.
Instructions liées
Highest, la valeur la plus haute elle-même sur une période.Lowest, la valeur la plus basse sur une période.LowestBars, décalage jusqu'à la valeur la plus basse, le miroir de HighestBars.BarsSince, nombre de bars écoulés depuis qu'une condition arbitraire a été vraie.BarIndex, numéro de bar absolu, utilisé pour convertir les décalages en positions sur le graphique.DRAWTEXT, dessine une étiquette sur un bar repéré grâce au décalage renvoyé.Summation, agrégation d'une série sur une fenêtre fixe.