Jetzt beitreten
Indikatoren/probuilder · probacktest · proorder · proscreener

Cycle

Cycle in ProBuilder extrahiert die zyklische Komponente einer Kursreihe und schwingt um null, um wiederkehrende Marktrhythmen hervorzuheben. Syntax und Beispiele.

Syntax

probuilder
Cycle(price)

Parameter

NameTypStandardBeschreibung
priceKursquelleSchlusskursSerie, auf die die Zyklusextraktion angewendet wird, etwa close, open, high, low, oder eine eigene Variable.

Es gibt keinen Perioden-Parameter. Die Zykluslänge wird intern von ProRealTime™ bestimmt.

Formel

ProRealTime™ veröffentlicht keinen geschlossenen Ausdruck für diesen Indikator. Konzeptionell entfernt die Funktion die Trendkomponente aus der Eingangsreihe und gibt die verbleibende schwingende Komponente zurück, sodass die Ausgabe um eine Nulllinie schwankt. Das genaue Verfahren zur Trendbereinigung und Glättung ist plattformintern und kann nicht konfiguriert werden.

So funktioniert es

Marktkurse werden oft als Summe aus einem Trend, einer zyklischen Komponente und Rauschen modelliert. Cycle isoliert den mittleren Teil: die wiederkehrenden Swings rund um den vorherrschenden Trend. Die Ausgabe ist ein unbegrenzter, um Null zentrierter Oszillator. Liegt die zyklische Komponente über Null, befindet sich die Serie in der oberen Hälfte ihres erkannten Swings, unter Null in der unteren Hälfte.

Da die Berechnung festgelegt ist, wird der Indikator mehr als Phasendetektor denn als einstellbarer Oszillator verwendet. Typische Anwendungen sind das Timing von Einstiegen innerhalb eines etablierten Trends oder das Markieren, wenn ein swing wahrscheinlich überdehnt ist. Kreuzungen der Nulllinie markieren den Übergang von einer Phase des Zyklus zur anderen.

Die Zyklusanalyse setzt voraus, dass der Markt tatsächlich schwingt. In starken Trends in nur eine Richtung wird die zyklische Komponente im Verhältnis zum Trend klein, und ihre Kreuzungen enthalten weniger Information. Den Oszillator mit einem Trendfilter zu kombinieren, wie in Beispiel 3, ist der übliche Behelf.

Beispiele

Beispiel 1, Bullische und bärische Zyklusphasen (Indikator)

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)

Zeigt eine grüne Stufenlinie bei 1, solange die zyklische Komponente positiv ist, und eine pinke Stufenlinie bei -1, solange sie negativ ist, was eine schnelle visuelle Phasenkarte ergibt.

Beispiel 2, Scan auf nach oben drehenden Zyklus (ProScreener)

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

Gibt Instrumente zurück, die auf dem aktuellen Bar in die positive Phase ihres Zyklus eintreten, eine Ausgangsliste für swing-Einstiege.

Beispiel 3, Zyklus-Timing mit einem 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

Der 200-Perioden-Durchschnitt beschränkt das Trading auf Aufwärtstrends, und die Nulllinienkreuzungen der zyklischen Komponente timen die Einstiege und Ausstiege innerhalb dieses Trends.

Interpretation

  • Über null. Der erkannte Zyklus befindet sich in seiner Aufwärtsphase. Steigende Werte deuten darauf hin, dass die Aufwärtsbewegung noch im Aufbau ist, fallende positive Werte deuten darauf hin, dass sie ausreift.
  • Unter null. Der Zyklus befindet sich in seiner Abwärtsphase, symmetrisch zu lesen.
  • Nulllinienkreuzungen. Markieren Phasenübergänge und sind der häufigste auf diesem Indikator aufgebaute Trade-Auslöser.
  • Amplitude. Die Ausgabe ist nicht begrenzt, daher sind Extremwerte relativ zur eigenen jüngsten Historie des Instruments statt zu festen Schwellenwerten zu sehen.

Das Vorzeichen allein misst keine Trendstärke. Kombinieren Sie den Oszillator dafür mit einem Richtungsfilter.

Häufige Fehler und Stolperfallen

  • Eine Periode in Klammern hinzufügen. Cycle[20](close) lässt sich nicht kompilieren. Die Funktion nimmt nur das Kursargument in Klammern und hat keine benutzerdefinierte Periode.
  • Keine festen überkauften oder überverkauften Niveaus. Anders als RSI oder Stochastic ist die Ausgabe unbegrenzt. Bedingungen wie Cycle(close) > 70 sind willkürlich; vergleichen Sie stattdessen mit null oder mit den eigenen jüngsten Extremwerten des Indikators.
  • Schwache Signale in starken Trends. Wenn der Kurs stark in eine Richtung trendet, verflacht die zyklische Komponente und Nulllinienkreuzungen werden zu Rauschen. Filtern Sie nach Trendrichtung, bevor Sie auf Kreuzungen reagieren.
  • Keine Prognose. Die Funktion beschreibt die aktuelle zyklische Position der Reihe. Sie prognostiziert nicht, dass sich der Zyklus mit derselben Länge oder Amplitude wiederholt.
  • DPO, trendbereinigter Kursoszillator, eine weitere Möglichkeit, den Trend zu entfernen und Zyklen freizulegen.
  • TRIX, dreifach geglätteter momentum-Oszillator um eine Nulllinie.
  • Stochastic, begrenzter Oszillator, der den Schlusskurs innerhalb der jüngsten Spanne einordnet.
  • RSI, begrenzter Momentum-Oszillator mit festen Schwellen.
  • Momentum, rohe N-Bar-Kursdifferenz.
  • ROC, Veränderungsrate in Prozent.
  • Average, gleitender Durchschnitt, in Beispiel 3 als Trendfilter verwendet.