Cycle
Cycle in ProBuilder extrahiert die zyklische Komponente einer Kursreihe und schwingt um null, um wiederkehrende Marktrhythmen hervorzuheben. Syntax und Beispiele.
Syntax
Cycle(price)Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
price | Kursquelle | Schlusskurs | Serie, 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)
// 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)
// 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)
// 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
ENDIFDer 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) > 70sind 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.
Verwandte Befehle
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.