HighestBars
HighestBars in ProBuilder geeft de offset in bars naar de hoogste waarde van een reeks over een periode, waarbij 0 betekent dat de huidige bar de hoogste waarde bevat.
Syntaxis
HighestBars[Period](source)Parameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
| Periode | geheel getal | verplicht | Aantal bars uit het verleden om te scannen, inclusief de huidige bar. |
| bron | numerieke reeks | verplicht | De reeks waarin wordt gezocht, zoals close, high, volume, of een indicator. |
Formule
Voor een venster van Period bars die eindigen op de huidige bar:
HighestBars[Period](x) = offset k in [0, Period - 1]
where x[k] is the maximum of the windowAls er binnen het venster geen maximum kan worden bepaald, geeft de functie -1 terug.
Hoe het werkt
HighestBars bepaalt de positie van het maximum in plaats van het maximum zelf. Waar Highest[20](close) antwoordt "wat was de hoogste close van de laatste 20 bars", HighestBars[20](close) beantwoordt "hoe lang geleden is het gebeurd". Het resultaat is een bar-offset die terugwaarts vanaf de huidige bar wordt geteld, zodat het direct in serie-indexering past: close[HighestBars[20](close)] leest de hoogste close van het venster.
De offset begint bij nul. Een retourwaarde van 0 betekent dat de huidige bar de hoogste waarde heeft, wat zelf een nuttig signaal is en nieuwe highs binnen het venster markeert. Als meerdere bars dezelfde maximumwaarde hebben, geeft de functie het eerste voorkomen dat wordt gevonden bij terugzoeken vanaf de huidige bar, dus het meest recente.
De waarde wordt op elke bar bijgewerkt. Terwijl het venster vooruitschuift, valt een oude top uiteindelijk uit het venster en springt de functie naar de offset van de volgende hoogste bar die er nog in zit.
Voorbeelden
Voorbeeld 1, Het hoogste slot labelen (Indicator)
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 vindt hoeveel bars terug de hoogste close van de laatste 10 bars plaatsvond, en DRAWTEXT ankert een label op die bar. De controle myHighest > 0 slaat bars over waar de huidige close zelf het maximum is.
Voorbeeld 2, Bars sinds de high over 50 bars (Indicator)
// Plot the age of the highest high inside a 50-bar window
RETURN HighestBars[50](high) AS "bars since 50-bar high"De geplotte lijn valt naar 0 zodra er een nieuwe high over 50 bars wordt gezet en klimt met één op elke bar die daar niet boven komt, een compacte maat voor hoe oud de huidige high is.
Voorbeeld 3, Alleen instappen op nieuwe highs (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 40De strategie koopt alleen op bars die een nieuwe slot-high over 20 bars neerzetten, waarbij de offset nul als breakout-bevestiging wordt gebruikt.
Veelvoorkomende fouten en valkuilen
- Offset, niet waarde. HighestBars geeft een aantal bars terug, geen prijs. Het tekenen alsof het de piekwaarde was levert een zaagtand tussen 0 en Period op. Gebruik
Highestvoor de waarde zelf. - Nulgebaseerde telling. 0 verwijst naar de huidige bar, dus de grootst mogelijke retourwaarde is
Period - 1. Logica die is geschreven alsof het tellen bij 1 begint, mist nieuwe highs volledig. - Het geval -1. Als het venster geen maximum kan opleveren, geeft de functie -1 terug. Die waarde direct in een reeksindex stoppen zoals
close[-1]is ongeldig, dus beveilig het resultaat voordat je indexeert. - Bij gelijke waarden valt de keuze op de meest recente bar. Bij dubbele maxima in het venster wint de kleinste offset. Berekeningen die uitgaan van het oudste voorkomen zitten ernaast met het verschil tussen de duplicaten.
Gerelateerde instructies
Highest, de hoogste waarde zelf over een periode.Lowest, de laagste waarde over een periode.LowestBars, offset naar de laagste waarde, het spiegelbeeld van HighestBars.BarsSince, aantal bars verstreken sinds een willekeurige conditie waar was.BarIndex, absoluut barnummer, gebruikt om offsets om te zetten naar posities op de grafiek.DRAWTEXT, tekent een label bij een bar die met de teruggegeven offset wordt bepaald.Summation, aggregatie van een reeks over een vast venster.