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

CCI

CCI in ProBuilder geeft de Commodity Channel Index terug, een onbegrensde oscillator die de afwijking van de prijs ten opzichte van zijn gemiddelde meet. Boven +100 is overgekocht gebied.

Syntaxis

probuilder
CCI[N](price)

Parameters

NaamTypeStandaardBeschrijving
Ngeheel getal20Lookbackperiode voor het voortschrijdend gemiddelde en de gemiddelde afwijking. 14 en 20 zijn de gangbare instellingen.
priceprijsbrontypicalpricePrijsreeks die in de berekening wordt gebruikt. De klassieke definitie gebruikt typicalprice, het gemiddelde van high, low en close, maar close of elke andere reeks wordt geaccepteerd.

Formule

code
CCI = (price - MM) / (0.015 * D)

Waar MM is de N-periode enkelvoudig voortschrijdend gemiddelde van de prijsreeks en D is de gemiddelde absolute afwijking van de reeks ten opzichte van dat gemiddelde over hetzelfde venster. De constante 0.015 schaalt de uitkomst zo dat onder normale omstandigheden ruwweg 70 tot 80 procent van de waarden tussen -100 en +100 valt.

Hoe het werkt

Op elke bar meet de indicator het verschil tussen de huidige prijs en zijn recente gemiddelde, en vraagt vervolgens hoe groot dat verschil is vergeleken met het typische verschil over het venster. Het resultaat is een genormaliseerde afstand: een CCI van +200 betekent dat de prijs ongeveer drie keer verder boven zijn gemiddelde ligt dan gebruikelijk (na de schaling met 0.015), onafhankelijk van het instrument of het prijsniveau.

In tegenstelling tot RSI of Stochastic, heeft CCI geen vaste grenzen. Extreme trends kunnen hem naar +300, +400 of verder duwen. Die eigenschap werkt twee kanten op. Het behoudt informatie over hoe ver een beweging is opgerekt, maar het betekent ook dat vaste drempels in verschillende volatiliteitsregimes verschillende marktomstandigheden afbakenen.

Er bestaan twee brede gebruiksstijlen. Mean reversion-traders faden uitschieters voorbij +100 of -100 en verwachten een terugkeer naar het gemiddelde. Trendtraders lezen dezelfde niveaus omgekeerd en zien een doorstoot door +100 als bewijs van een opkomende opwaartse beweging. Beide stijlen kunnen met dezelfde functie worden gecodeerd; de omringende voorwaarden bepalen welk gedrag wordt gevangen.

Voorbeelden

Voorbeeld 1, Signaallijn voor overgekocht en oververkocht (Indicator)

probuilder
// Signal: +1 above the overbought line, -1 below the oversold line
myCCI = CCI[20](close)
SIGNAL = 0
IF myCCI < -100 THEN
  SIGNAL = -1
ENDIF
IF myCCI > 100 THEN
  SIGNAL = 1
ENDIF
RETURN SIGNAL

Comprimeert de CCI over 20 periodes tot een signaal met drie toestanden: -1 in oververkocht gebied, +1 in overgekocht gebied, 0 daartussenin.

Voorbeeld 2, Mean-reversion long met een trendfilter (ProOrder)

probuilder
// Buy deep CCI dips in an uptrend, exit when CCI normalises
trend = Average[200](close)
c = CCI[14](typicalprice)

IF NOT LongOnMarket AND close > trend AND c CROSSES OVER -100 THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

IF LongOnMarket AND c CROSSES OVER 100 THEN
  SELL AT MARKET
ENDIF

Wacht tot CCI het oververkochte gebied verlaat in plaats van in te stappen terwijl hij nog daalt, en neemt alleen signalen boven het gemiddelde over 200 bars. De uitstap boekt de trade zodra CCI het tegenovergestelde extreem bereikt.

Voorbeeld 3, Screenen op extreme waarden (ProScreener)

probuilder
// Instruments stretched more than 200 CCI points from their mean
c = CCI[20](typicalprice)
SCREENER[Abs(c) > 200](c AS "CCI 20")

Geeft instrumenten terug die in beide richtingen ongewoon ver zijn uitgerekt, met de CCI-waarde met teken weergegeven om te sorteren.

Interpretatie

ZoneRangeStand
Oververkochtonder -100De prijs ligt ongewoon ver onder zijn gemiddelde. Mogelijke bouncezone, of het begin van een sterke neerwaartse trend.
Neutraal-100 tot +100De prijs bevindt zich binnen zijn normale band rond het gemiddelde.
Overgekochtboven +100De prijs ligt ongewoon ver boven zijn gemiddelde. Mogelijke pullbackzone, of de aanzet tot een trend.

De nullijn markeert waar de prijs zijn eigen moving average kruist en wordt soms als biasfilter gebruikt. Divergenties tussen CCI en de prijs op extremen zijn een gangbare omkeerstudie; de DivergenceCCI instructie detecteert ze direct.

Veelvoorkomende fouten en valkuilen

  • Onbegrensde uitvoer doorbreekt aannames in RSI-stijl. CCI kan in sterke bewegingen plus of min 300 overschrijden. Logica die is overgenomen van begrensde oscillatoren, zoals +100 behandelen zoals RSI 70 behandelt, schat verkeerd in hoe extreem een waarde werkelijk is.
  • Verkeerd type haakjes. CCI(20, close) is ongeldig. De periode hoort tussen vierkante haken en de prijsbron tussen ronde haken: CCI[20](close).
  • De prijsbron verandert de indicator. De klassieke CCI gebruikt de typical price. Doorgeven van close geeft systematisch andere waarden, vooral op bars met lange wicks. Backtests en grafiekstudies moeten dezelfde bron gebruiken.
  • Extremen zijn inherent ambigu. Een doorstoot boven +100 is tegelijk een mean reversion-verkoopvoorwaarde en een momentum-koopvoorwaarde, afhankelijk van de stijl van de strategie. De drempel alleen levert geen edge op; de omringende regimelogica bepaalt de betekenis ervan.
  • DivergenceCCI, ingebouwde divergentiedetectie voor CCI.
  • RSI, begrensde momentum-oscillator met vast bereik van 0 tot 100.
  • Stochastic, begrensde oscillator op basis van de positie binnen de range.
  • SMI, stochastic momentum index.
  • ROC, rate of change, een eenvoudige maatstaf voor momentum.
  • Momentum, ruw prijsverschil over een lookback.
  • Williams, Williams %R, nog een maatstaf voor overgekocht/oververkocht.
  • TypicalPrice, de standaard prijsbron van de klassieke CCI.
  • Average, het voortschrijdend gemiddelde in de kern van de formule.