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

Cycle

Cycle in ProBuilder haalt de cyclische component uit een koersreeks, oscillerend rond nul om terugkerende marktritmes te benadrukken. Syntaxis en voorbeelden.

Syntaxis

probuilder
Cycle(price)

Parameters

NaamTypeStandaardBeschrijving
priceprijsbroncloseReeks waarop de cyclusextractie wordt toegepast, zoals close, open, high, low, of een eigen variabele.

Er is geen periodeparameter. De cycluslengte wordt intern door ProRealTime™ bepaald.

Formule

ProRealTime™ publiceert geen gesloten formule voor deze indicator. Conceptueel verwijdert de functie de trendcomponent uit de invoerreeks en geeft de resterende oscillerende component terug, zodat de uitvoer rond een nullijn beweegt. De exacte methode van detrending en smoothing zit intern in het platform en kan niet worden geconfigureerd.

Hoe het werkt

Marktprijzen worden vaak gemodelleerd als de som van een trend, een cyclische component en ruis. Cycle isoleert het middelste deel: de terugkerende swings die zich rond de heersende trend voordoen. De output is een onbegrensde oscillator met nul als middelpunt. Staat de cyclische component boven nul, dan zit de reeks in de bovenste helft van zijn gedetecteerde swing, staat hij onder nul, dan in de onderste helft.

Omdat de berekening vast is, wordt de indicator meer gebruikt als fasedetector dan als instelbare oscillator. Typische toepassingen zijn het timen van instappen binnen een gevestigde trend, of het signaleren wanneer een swing waarschijnlijk is opgerekt. Kruisingen van de nullijn markeren de overgang van de ene fase van de cyclus naar de andere.

Cyclische analyse veronderstelt dat de markt daadwerkelijk oscilleert. Tijdens sterke eenzijdige trends wordt de cyclische component klein ten opzichte van de trend, en dragen de kruisingen minder informatie. De oscillator combineren met een trendfilter, zoals in Voorbeeld 3, is de gebruikelijke oplossing.

Voorbeelden

Voorbeeld 1, Bullish en bearish cyclusfasen (Indicator)

probuilder
// Classify the current cycle phase from the sign of the output
c = Cycle(close)
IF c > 0 THEN
  Bullish = 1
  Bearish = 0
ELSE
  Bullish = 0
  Bearish = -1
ENDIF
RETURN Bullish coloured(0,128,0), Bearish coloured(255,20,147)

Toont een groene steplijn op 1 zolang de cyclische component positief is en een roze steplijn op -1 zolang die negatief is, wat een snelle visuele fasekaart geeft.

Voorbeeld 2, Scan op een opwaarts kerende cyclus (ProScreener)

probuilder
// List instruments whose cycle component just crossed above zero
c = Cycle(close)
SCREENER[c CROSSES OVER 0](c AS "Cycle")

Geeft instrumenten terug die op de huidige bar de positieve fase van hun cyclus ingaan, een startlijst voor swing-instappen.

Voorbeeld 3, Cyclustiming met een trendfilter (ProBacktest)

probuilder
// Buy cycle upturns only while price is above the long-term average
trend = Average[200](close)
c = Cycle(close)

IF NOT LongOnMarket AND close > trend AND c CROSSES OVER 0 THEN
  BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND c CROSSES UNDER 0 THEN
  SELL AT MARKET
ENDIF

Het gemiddelde over 200 perioden beperkt het traden tot opwaartse trends, en de nullijnkruisingen van de cyclische component timen de instappen en uitstappen binnen die trend.

Interpretatie

  • Boven nul. De gedetecteerde cyclus zit in zijn opwaartse fase. Stijgende waarden suggereren dat de opwaartse beweging zich nog ontwikkelt, dalende positieve waarden suggereren dat die volwassen wordt.
  • Onder nul. De cyclus zit in zijn neerwaartse fase, symmetrisch te lezen.
  • Nullijnkruisingen. Markeren faseovergangen en zijn de meest gebruikte trade-trigger die op deze indicator wordt gebouwd.
  • Amplitude. De uitvoer is niet begrensd, dus extreme waarden zijn relatief ten opzichte van de eigen recente historie van het instrument in plaats van ten opzichte van vaste drempels.

Het teken alleen meet de trendsterkte niet. Combineer de oscillator daarvoor met een richtingsfilter.

Veelvoorkomende fouten en valkuilen

  • Een periode tussen rechte haken toevoegen. Cycle[20](close) compileert niet. De functie neemt tussen de haakjes alleen het koersargument en heeft geen door de gebruiker gedefinieerde periode.
  • Geen vaste niveaus voor overgekocht of oververkocht. Anders dan RSI of Stochastic is de output onbegrensd. Voorwaarden zoals Cycle(close) > 70 zijn arbitrair; vergelijk in plaats daarvan met nul of met de eigen recente extremen van de indicator.
  • Zwakke signalen in sterke trends. Wanneer de koers hard in één richting trendt, vlakt de cyclische component af en worden nullijnkruisingen ruis. Filter op trendrichting voordat je op kruisingen handelt.
  • Geen voorspelling. De functie beschrijft de huidige cyclische positie van de reeks. Hij voorspelt niet dat de cyclus zich met dezelfde lengte of amplitude zal herhalen.
  • DPO, detrended price oscillator, een andere manier om de trend weg te halen en cycli zichtbaar te maken.
  • TRIX, drievoudig gesmoothde momentum-oscillator rond een nullijn.
  • Stochastic, begrensde oscillator die het slot binnen het recente bereik plaatst.
  • RSI, begrensde momentum-oscillator met vaste drempels.
  • Momentum, ruw N-bar prijsverschil.
  • ROC, veranderingssnelheid in procent.
  • Average, voortschrijdend gemiddelde, gebruikt als trendfilter in Voorbeeld 3.