Word nu lid
Indicatoren/probuilder · probacktest · proorder · proscreener

ZigZag

ZigZag in ProBuilder filtert koersswings die kleiner zijn dan een procentuele drempel en verbindt significante highs en lows. Syntaxis, parameters, voorbeelden, valkuilen.

Syntaxis

probuilder
ZigZag[Zr](price)

Parameters

NaamTypeStandaardBeschrijving
ZrgetalgeenOmkeerdrempel in procent. Een nieuwe pivot wordt pas bevestigd nadat de prijs minstens Zr procent tegen de huidige swing in.
priceprijsbroncloseDe reeks waarop pivots worden gedetecteerd. Accepteert close, open, high, low, of een eigen variabele.

Formule

Er is geen formule in gesloten vorm. De constructieregel is:

code
1. Track the extreme of the current swing (highest or lowest price since the last pivot).
2. When price retraces at least Zr percent from that extreme, the extreme becomes
   a confirmed pivot and a new swing starts in the opposite direction.
3. The output on each bar is the value of the straight line joining consecutive pivots.

Hoe het werkt

De indicator comprimeert de prijsactie tot afwisselende opgaande en neergaande legs. Zolang de prijs verder uitbreidt in de huidige richting, beweegt de voorlopige pivot mee. Alleen wanneer een retracement van ten minste Zr procent optreedt, wordt de pivot vastgezet en verandert de lijn van richting. Alles kleiner dan de drempel wordt verworpen, en daarom ziet de uitkomst eruit als een schone reeks swings die belangrijke highs en lows verbindt.

De bepalende eigenschap, en het belangrijkste gevaar, is repainting. Het laatste segment is voorlopig: als de koers de eerdere richting hervat voordat een Zr procent omkering wordt de recente pivot verwijderd en het segment opnieuw getekend. Historische grafieken zien er daarom veel schoner uit dan wat in realtime kenbaar was. De indicator is een tool om structuur uit het verleden te beschrijven, swing-analyse, golven tellen, steun en weerstand in kaart brengen, geen generator van live signalen.

Grotere Zr waarden houden alleen de grote swings over, kleinere waarden behouden fijnere structuur. Door de procentuele basis past het filter zich aan het prijsniveau aan, een filter van 5 procent betekent hetzelfde op 100 als op 10000, anders dan de variant met vaste punten ZigZagPoint.

Voorbeelden

Voorbeeld 1, Zigzag van 5 procent op slotkoersen (Indicator)

probuilder
// Keep only swings larger than 5 percent
myZigZag = ZigZag[5](close)
RETURN myZigZag

Het bronvoorbeeld: swings kleiner dan 5 procent vanaf de laatste pivot worden eruit gefilterd, zodat alleen de significante benen van de beweging overblijven.

Voorbeeld 2, De huidige swing-lengte meten (Indicator)

probuilder
// Estimate how far price has travelled in the current zig-zag leg
zz = ZigZag[3](close)

IF zz > zz[1] THEN
  direction = 1     // rising leg
ELSIF zz < zz[1] THEN
  direction = -1    // falling leg
ELSE
  direction = direction[1]
ENDIF

RETURN direction AS "ZigZag leg direction"

Leidt de richting van het huidige zigzagbeen af door opeenvolgende waarden van de lijn te vergelijken. Nuttig om een eerdere swing-structuur in studies te labelen.

Voorbeeld 3, Screenen op positie in de swing (ProScreener)

probuilder
// Instruments whose 5 percent zig-zag is in a rising leg
zz = ZigZag[5](close)
risingLeg = zz > zz[1]
SCREENER[risingLeg](((close / zz) - 1) * 100 AS "% vs ZigZag")

Filtert op instrumenten die zich momenteel in een stijgend zigzagbeen bevinden. Omdat het laatste been herschildert, beschrijven de resultaten de huidige waarde, niet een stabiel historisch signaal.

Interpretatie

De zigzaglijn is beschrijvend. Afwisselende pivots markeren de swing highs en lows die zijn overgebleven na de Zr filter, wat de indicator een gangbare basislaag maakt voor het tellen van Elliott Waves, het meten van harmonische patronen en het in kaart brengen van steun en weerstand uit eerdere pivots.

Stijgende pivots (hogere highs en hogere lows) beschrijven een opwaartse trend in de gefilterde structuur, dalende pivots beschrijven een neerwaartse trend. Niets hiervan voorspelt de volgende beweging: het laatste been is altijd voorlopig, dus elke waarde die uit het meest recente segment wordt gehaald kan met terugwerkende kracht veranderen.

Veelvoorkomende fouten en valkuilen

  • Backtesting op het herschilderende been. Strategieregels die recente ZigZag-waarden gebruiken zien pivots die pas later werden bevestigd. Backtests die zo zijn opgebouwd overdrijven de resultaten ernstig en kunnen live niet worden gereproduceerd.
  • Drempel in de verkeerde eenheid. Zr is een percentage. Om op een absoluut aantal punten te filteren, gebruik ZigZagPoint in plaats daarvan, de twee zijn niet uitwisselbaar bij dezelfde instelling.
  • Drempel te klein. Waarden ruim onder 1 procent op volatiele instrumenten leveren een lijn op die bijna elke bar omslaat, waardoor het doel van het filter verloren gaat.
  • De lijn lezen als een voortschrijdend gemiddelde. De uitvoer is een stuksgewijs lineair pad tussen pivots, geen geëffende koers. De afstand tot de lijn heeft geen betekenis in de stijl van een standaarddeviatie.
  • ZigZagPoint, dezelfde constructie met een vaste drempel in punten.
  • Highest, hoogste waarde over N bars, een swing-tool die niet herschildert.
  • Lowest, laagste waarde over N bars.
  • SAR, parabolic stop and reverse, een trendvolger die niet herschildert.
  • Supertrend, trendvolgende lijn op basis van de average true range.
  • Average, voortschrijdend gemiddelde voor conventionele smoothing.
  • DRAWLINE, tekent eigen segmenten tussen punten op de grafiek.
  • Cycle, indicator voor cyclusdetectie bij periodieke structuur.