HighestBars
HighestBars in ProBuilder restituisce l'offset in bar verso il valore massimo di una serie su un periodo, dove 0 significa che il bar corrente contiene il valore massimo.
Sintassi
HighestBars[Period](source)Parametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
| Period | intero | obbligatorio | Numero di bar passati da scansionare, incluso il bar corrente. |
| fonte | serie numerica | obbligatorio | La serie da cercare, come close, high, volume, o un indicatore. |
Formula
Per una finestra di Period bar che terminano al bar attuale:
HighestBars[Period](x) = offset k in [0, Period - 1]
where x[k] is the maximum of the windowSe non si può determinare alcun massimo nella finestra, la funzione restituisce -1.
Come funziona
HighestBars individua la posizione del massimo anziché il massimo stesso. Dove Highest[20](close) risponde a "qual è stata la chiusura più alta degli ultimi 20 bar", HighestBars[20](close) risponde alla domanda "quanto tempo fa è avvenuto". Il risultato è uno scostamento in bar contato a ritroso dalla bar corrente, quindi si inserisce direttamente nell'indicizzazione delle serie: close[HighestBars[20](close)] legge il close più alto della finestra.
L'offset parte da zero. Un valore restituito di 0 significa che il bar corrente porta il valore più alto, che è già di per sé un segnale utile e indica nuovi massimi della finestra. Quando più bar condividono lo stesso valore massimo, la funzione riporta la prima occorrenza trovata scorrendo a ritroso dal bar corrente, cioè quella più recente.
Il valore si aggiorna su ogni bar. Mentre la finestra avanza, un vecchio picco finisce per uscire dalla finestra e la funzione salta all'offset del bar più alto successivo ancora al suo interno.
Esempi
Esempio 1, Etichettatura della chiusura di picco (Indicatore)
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 trova quante bar indietro si è verificata la chiusura più alta delle ultime 10 bar, e DRAWTEXT ancora un'etichetta a quella bar. Il controllo myHighest > 0 salta i bar in cui la chiusura attuale è essa stessa il massimo.
Esempio 2, Bar trascorsi dal massimo a 50 bar (Indicatore)
// Plot the age of the highest high inside a 50-bar window
RETURN HighestBars[50](high) AS "bars since 50-bar high"La linea tracciata scende a 0 ogni volta che viene segnato un nuovo massimo a 50 bar e sale di uno su ogni bar che non riesce a superarlo, una misura compatta di quanto sia vecchio il massimo corrente.
Esempio 3, Ingresso solo su nuovi massimi (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 strategia compra solo sui bar che stabiliscono un nuovo massimo di chiusura a 20 bar, usando l'offset zero come conferma di breakout.
Errori e insidie comuni
- Offset, non valore. HighestBars restituisce un conteggio di barre, non un prezzo. Tracciarlo come se fosse il valore di picco produce un dente di sega tra 0 e Period. Usa
Highestper il valore stesso. - Conteggio a partire da zero. 0 si riferisce alla bar corrente, quindi il valore massimo restituibile è
Period - 1. La logica scritta come se il conteggio partisse da 1 manca completamente i nuovi massimi. - Il caso -1. Quando la finestra non può produrre un massimo, la funzione restituisce -1. Passare quel valore direttamente a un indice di serie come
close[-1]non è valido, quindi proteggi il risultato prima di indicizzarlo. - I pareggi si risolvono sul bar più recente. Con massimi duplicati nella finestra, vince l'offset più piccolo. I calcoli che presuppongono l'occorrenza più vecchia saranno errati della distanza tra i duplicati.
Istruzioni correlate
Highest, il valore massimo stesso su un periodo.Lowest, il valore minimo su un periodo.LowestBars, offset verso il valore minimo, lo specchio di HighestBars.BarsSince, bar trascorsi da quando una condizione arbitraria era vera.BarIndex, numero assoluto del bar, usato per convertire gli offset in posizioni sul grafico.DRAWTEXT, disegna un'etichetta su un bar individuato con l'offset restituito.Summation, aggregazione di una serie su finestra fissa.