Bli medlem idag
Indikatorer/probuilder · probacktest · proorder · proscreener

ZigZag

ZigZag i ProBuilder filtrerar bort prisswingar mindre än ett procentuellt tröskelvärde och förbinder betydande högsta och lägsta nivåer. Syntax, parametrar, exempel, fallgropar.

Syntax

probuilder
ZigZag[Zr](price)

Parametrar

NamnTypStandardBeskrivning
ZrtalingenVändningströskel i procent. En ny pivot bekräftas först efter att priset har rört sig minst Zr procent mot den aktuella swingen.
pricepriskällacloseSerien som pivoter detekteras på. Accepterar close, open, high, low, eller en egen variabel.

Formel

Det finns ingen sluten formel. Konstruktionsregeln är:

kod
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.

Så fungerar det

Indikatorn komprimerar prisrörelsen till växlande upp- och nedben. Så länge priset fortsätter i den aktuella riktningen flyttas den preliminära pivoten med det. Först när en rekyl på minst Zr procent inträffar låses pivoten in och linjen byter riktning. Allt som är mindre än tröskelvärdet förkastas, vilket är varför utdata ser ut som en ren följd av swingar som förbinder betydande högsta och lägsta.

Den definierande egenskapen, och den största faran, är repainting. Det sista segmentet är preliminärt: om priset återupptar den tidigare riktningen innan det fullbordar en Zr procents vändning tas den senaste pivoten bort och segmentet ritas om. Historiska diagram ser därför betydligt renare ut än något som gick att veta i realtid. Indikatorn är ett verktyg för att beskriva tidigare struktur, swing-analys, vågräkning, kartläggning av stöd och motstånd, inte en generator av livesignaler.

Större Zr värden behåller bara större swingar, mindre värden bevarar finare struktur. Den procentuella basen gör att filtret anpassar sig till prisnivån, ett 5-procentsfilter betyder samma sak vid 100 som vid 10000, till skillnad från varianten med fasta punkter ZigZagPoint.

Exempel

Exempel 1, 5 procents zigzag på stängningspriser (Indikator)

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

Källexemplet: swingar mindre än 5 procent från den senaste pivoten filtreras bort, så att bara rörelsens betydande ben återstår.

Exempel 2, Mäta den aktuella swing-längden (Indikator)

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"

Härleder riktningen för det aktuella zigzag-benet genom att jämföra linjens värden i följd. Användbart för att märka upp tidigare swing-struktur i studier.

Exempel 3, Screening efter position i swingen (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")

Filtrerar fram instrument som just nu befinner sig i ett stigande zigzag-ben. Eftersom det sista benet ommålas beskriver resultaten det nuvarande värdet, inte en stabil historisk signal.

Tolkning

Zig-zag-linjen är beskrivande. Alternerande pivoter markerar de swing-toppar och -bottnar som överlevde Zr filter, vilket gör indikatorn till ett vanligt baslager för Elliott Wave-räkning, mätning av harmoniska mönster och kartläggning av stöd och motstånd från tidigare pivotpunkter.

Stigande pivoter (högre högsta och högre lägsta) beskriver en upptrend i den filtrerade strukturen, fallande pivoter beskriver en nedtrend. Inget av detta förutsäger nästa rörelse: det sista benet är alltid preliminärt, så varje värde som tas från det senaste segmentet kan ändras i efterhand.

Vanliga fel och fallgropar

  • Backtesting på det ommålande benet. Strategiregler som refererar till nyliga ZigZag-värden ser pivoter som bekräftades först senare. Backtests byggda på det sättet överskattar resultaten kraftigt och kan inte återskapas i live.
  • Tröskelvärde i fel enhet. Zr är en procentandel. För att filtrera på ett absolut antal punkter, använd ZigZagPoint istället, de två är inte utbytbara på samma inställning.
  • För litet tröskelvärde. Värden klart under 1 procent på volatila instrument ger en linje som vänder nästan varje bar, vilket motverkar filtrets syfte.
  • Att läsa linjen som ett glidande medelvärde. Utdatan är en styckvis linjär bana mellan pivoter, inte ett utjämnat pris. Avståndet från linjen har ingen innebörd av standardavvikelsetyp.
  • ZigZagPoint, samma konstruktion med ett fast tröskelvärde i punkter.
  • Highest, högsta värdet över N bars, ett swing-verktyg som inte ommålas.
  • Lowest, det lägsta värdet över N barer.
  • SAR, parabolic stop and reverse, en trendföljare som inte ommålas.
  • Supertrend, trendföljande linje baserad på average true range.
  • Average, glidande medelvärde för konventionell utjämning.
  • DRAWLINE, ritar egna segment mellan punkter i diagrammet.
  • Cycle, indikator för cykeldetektering av periodisk struktur.