HighestBars
HighestBars i ProBuilder returnerar offseten i barer till det högsta värdet i en serie under en period, där 0 betyder att den aktuella baren håller det högsta värdet.
Syntax
HighestBars[Period](source)Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
| Period | heltal | obligatorisk | Antal tidigare barer att söka igenom, inklusive den aktuella baren. |
| källa | numerisk serie | obligatorisk | Serien att söka i, såsom close, high, volume, eller en indikator. |
Formel
För ett fönster på Period barer som slutar vid den aktuella baren:
HighestBars[Period](x) = offset k in [0, Period - 1]
where x[k] is the maximum of the windowOm inget maximum kan fastställas inom fönstret returnerar funktionen -1.
Så fungerar det
HighestBars hittar maximumets position snarare än maximumet självt. Där Highest[20](close) besvarar "vad var den högsta stängningen under de senaste 20 barerna", HighestBars[20](close) besvarar "hur länge sedan hände det". Resultatet är en barförskjutning räknad bakåt från den aktuella baren, så det går direkt att använda för serieindexering: close[HighestBars[20](close)] läser det högsta stängningspriset i fönstret.
Offseten är nollbaserad. Ett returvärde på 0 betyder att den aktuella baren har det högsta värdet, vilket i sig är en användbar signal som markerar nya högsta nivåer i fönstret. När flera barer har samma maxvärde rapporterar funktionen den första förekomsten som hittas vid sökning bakåt från den aktuella baren, det vill säga den senaste.
Värdet uppdateras på varje bar. När fönstret glider framåt faller en gammal topp så småningom ur fönstret och funktionen hoppar till offseten för den näst högsta baren som fortfarande finns kvar i det.
Exempel
Exempel 1, Märka ut den högsta stängningen (Indikator)
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 hittar hur många barer tillbaka den högsta stängningen under de senaste 10 barerna inträffade, och DRAWTEXT fäster en etikett vid den baren. Kontrollen myHighest > 0 hoppar över barer där den aktuella stängningen själv är maximum.
Exempel 2, Antal barer sedan toppen över 50 barer (Indikator)
// Plot the age of the highest high inside a 50-bar window
RETURN HighestBars[50](high) AS "bars since 50-bar high"Den uppritade linjen faller till 0 varje gång en ny topp över 50 barer sätts och stiger med ett på varje bar som inte överträffar den, ett kompakt mått på hur gammal den aktuella toppen är.
Exempel 3, Entry endast vid nya toppar (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 40Strategin köper endast på barer som etablerar en ny högsta stängning över 20 barer, och använder nolloffseten som breakout-bekräftelse.
Vanliga fel och fallgropar
- Offset, inte värde. HighestBars returnerar ett antal barer, inte ett pris. Att rita den som om den var toppvärdet ger en sågtandskurva mellan 0 och Period. Använd
Highestför själva värdet. - Nollbaserad räkning. 0 syftar på den aktuella baren, så det största möjliga returvärdet är
Period - 1. Logik skriven som om räkningen började på 1 missar nya högstanivåer helt. - Fallet -1. När fönstret inte kan ge något maximum returnerar funktionen -1. Att mata in det direkt i ett serieindex som
close[-1]är ogiltigt, så skydda resultatet innan du indexerar. - Lika värden avgörs till den senaste baren. Med dubbla maxvärden i fönstret vinner den minsta offseten. Beräkningar som utgår från den äldsta förekomsten blir fel med avståndet mellan dubbletterna.
Relaterade instruktioner
Highest, själva det högsta värdet under en period.Lowest, det lägsta värdet under en period.LowestBars, offset till det lägsta värdet, spegelbilden av HighestBars.BarsSince, antal barer sedan ett valfritt villkor var sant.BarIndex, absolut nummer på baren, används för att omvandla offset till diagrampositioner.DRAWTEXT, ritar en etikett vid en bar som lokaliseras med den returnerade offseten.Summation, aggregering av en serie över ett fast fönster.