HighestBars
HighestBars en ProBuilder devuelve el desplazamiento en bars hasta el valor más alto de una serie a lo largo de un periodo, donde 0 significa que el bar actual contiene el valor más alto.
Sintaxis
HighestBars[Period](source)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
| Periodo | entero | obligatorio | Número de bars pasados a examinar, incluido el bar actual. |
| fuente | serie numérica | obligatorio | La serie en la que buscar, como close, high, volume, o un indicador. |
Fórmula
Para una ventana de Period bars que terminan en el bar actual:
HighestBars[Period](x) = offset k in [0, Period - 1]
where x[k] is the maximum of the windowSi no se puede determinar ningún máximo dentro de la ventana, la función devuelve -1.
Cómo funciona
HighestBars localiza la posición del máximo en lugar del máximo en sí. Donde Highest[20](close) responde "¿cuál fue el cierre más alto de los últimos 20 bars?", HighestBars[20](close) responde a "cuánto hace que ocurrió". El resultado es un desplazamiento en bars contado hacia atrás desde el bar actual, por lo que encaja directamente en la indexación de series: close[HighestBars[20](close)] lee el cierre más alto de la ventana.
El desplazamiento empieza en cero. Un valor devuelto de 0 significa que la barra actual tiene el valor más alto, lo que ya es de por sí una señal útil, porque marca nuevos máximos de la ventana. Cuando varias barras comparten el mismo valor máximo, la función informa de la primera aparición que encuentra al recorrer hacia atrás desde la barra actual, es decir, la más reciente.
El valor se actualiza en cada bar. A medida que la ventana avanza, un máximo antiguo acaba saliendo de la ventana y la función salta al desplazamiento del siguiente bar más alto que todavía esté dentro de ella.
Ejemplos
Ejemplo 1, Etiquetar el cierre máximo (Indicador)
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 encuentra cuántos bars atrás se produjo el cierre más alto de los últimos 10 bars, y DRAWTEXT ancla una etiqueta en ese bar. La comprobación myHighest > 0 omite los bars donde el cierre actual es él mismo el máximo.
Ejemplo 2, Bars desde el máximo de 50 bars (Indicador)
// Plot the age of the highest high inside a 50-bar window
RETURN HighestBars[50](high) AS "bars since 50-bar high"La línea dibujada cae a 0 cada vez que se marca un nuevo máximo de 50 bars y sube en uno en cada bar que no logra superarlo, una medida compacta de lo antiguo que es el máximo actual.
Ejemplo 3, Entrar solo en máximos nuevos (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 estrategia compra solo en los bars que establecen un nuevo máximo de cierre de 20 bars, usando el desplazamiento cero como confirmación del breakout.
Errores y trampas habituales
- Desplazamiento, no valor. HighestBars devuelve un número de barras, no un precio. Representarlo como si fuera el valor del máximo produce un diente de sierra entre 0 y Period. Usa
Highestpara el valor en sí. - Numeración desde cero. 0 se refiere a la bar actual, por lo que el mayor valor posible devuelto es
Period - 1. La lógica escrita como si el recuento empezara en 1 se pierde por completo los nuevos máximos. - El caso -1. Cuando la ventana no puede producir un máximo, la función devuelve -1. Pasar ese valor directamente a un índice de serie como
close[-1]no es válido, así que protege el resultado antes de indexar. - Los empates se resuelven a favor del bar más reciente. Con máximos duplicados en la ventana, gana el desplazamiento más pequeño. Los cálculos que dan por supuesta la aparición más antigua se desviarán en la distancia que separa a los duplicados.
Instrucciones relacionadas
Highest, el valor más alto en sí a lo largo de un periodo.Lowest, el valor más bajo a lo largo de un periodo.LowestBars, desplazamiento hasta el valor más bajo, el espejo de HighestBars.BarsSince, bars transcurridos desde que una condición arbitraria fue cierta.BarIndex, número absoluto de bar, usado para convertir desplazamientos en posiciones del gráfico.DRAWTEXT, dibuja una etiqueta en el bar localizado con el desplazamiento devuelto.Summation, agregación de una serie con ventana fija.