RocnRoll
RocnRoll gibt in ProBuilder diskrete Handelssignale zurück, 1 bullisch, 2 bärisch, -1 Ausstieg, aufgebaut aus der Änderungsrate und exponentiellen Durchschnitten. Syntax, Beispiele.
Syntax
RocnRoll(price)Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
price | Kursquelle | Schlusskurs | Die Kursserie, auf der das Signal berechnet wird, üblicherweise close, auch open, high, oder low. |
Formel
RocnRoll ist ein zusammengesetzter Signalgenerator und kein kontinuierlicher Oszillator. Intern kombiniert er die Änderungsrate der Preisreihe mit exponentiellen gleitenden Durchschnitten, um den aktuellen Bar in einen von drei Zuständen einzuordnen. Die exakten Perioden und die Kombinationslogik sind von der Plattform festgelegt und nicht als Parameter zugänglich. Die Ausgabezuordnung ist:
1 = bullish signal
2 = bearish signal
-1 = exit signalSo funktioniert es
Die meisten Momentum-Indikatoren geben einen Wert zur Interpretation zurück. RocnRoll gibt stattdessen einen Entscheidungscode zurück, was ihn eher zu einer fertigen Signallinie macht als zu einer rohen Messung. Auf jedem Bar bewertet die eingebaute Logik das Momentum über die Rate of Change gegen seinen exponentiellen Durchschnittskontext und gibt einen der drei Zustände aus.
Im Chart wird der Indikator üblicherweise als Histogramm dargestellt, grüne Balken für Zustand 1, rote Balken für Zustand 2 und blaue Balken für Zustand -1. Im Code werden die Zustände mit einfachen Gleichheitsprüfungen verarbeitet, was die Strategielogik kurz hält, auf Kosten der Transparenz, da die internen Schwellenwerte nicht angepasst werden können.
Ein Detail, das beim Testen der Zustände zählt: das bärische Signal ist 2, nicht -1 oder 0. Der negative Wert ist dem Ausstiegszustand vorbehalten, sodass Bedingungen wie RocnRoll(close) < 0 treffen nur das Ausstiegssignal, nicht bärische Bars.
Beispiele
Beispiel 1, Signalhistogramm (Indikator)
// Compute the RocnRoll state for the closing price
myRocnRoll = RocnRoll(close)
// Display the raw state codes as a histogram
RETURN myRocnRoll STYLE(histogram) AS "RocnRoll signal"Wendet RocnRoll auf den Schlusskurs an und zeichnet die Zustandscodes als Histogramm, Balken bei 1 für bullisch, 2 für bärisch und -1 für Ausstiegssignale.
Beispiel 2, Long-only-System, das von Zustandscodes gesteuert wird (ProOrder)
DEFPARAM CumulateOrders = false
s = RocnRoll(close)
// Enter on the bullish state
IF NOT LongOnMarket AND s = 1 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Close the position on the exit state or a bearish flip
IF LongOnMarket AND (s = -1 OR s = 2) THEN
SELL AT MARKET
ENDIFDie drei Zustände lassen sich direkt auf die Orderlogik abbilden, Zustand 1 eröffnet den Long, Zustand -1 oder 2 schließt ihn. Es müssen keine Schwellenwerte oder Kreuzungen definiert werden.
Beispiel 3, Screening auf frische bullische Signale (ProScreener)
s = RocnRoll(close)
// State is bullish now and was not bullish on the previous bar
newSignal = s = 1 AND s[1] <> 1
SCREENER[newSignal](close AS "Last price")Listet Instrumente auf, deren RocnRoll-Zustand auf dem aktuellen Bar auf bullisch gewechselt ist, und filtert diejenigen heraus, die bereits seit vielen Bars im Zustand 1 sind.
Interpretation
| Wert | Signal | Übliche Darstellung |
|---|---|---|
| 1 | Bullisch, Bedingungen für Aufwärts-Momentum erfüllt | Grünes Histogramm |
| 2 | Bärisch, Bedingungen für Abwärts-Momentum erfüllt | Rotes Histogramm |
| -1 | Ausstieg, den Markt verlassen | Blaues Histogramm |
Der Indikator gibt eine kategoriale Einschätzung, kein Maß für die Stärke. Zwei aufeinanderfolgende bullische Bars sind nicht stärker als einer, und es gibt keine Größe, die über Instrumente hinweg verglichen werden kann. Er wird typischerweise als Auslöser innerhalb eines größeren Rahmens verwendet, wobei Trendfilter und Risikomanagement separat bereitgestellt werden.
Häufige Fehler und Stolperfallen
- Bärisch ist 2, keine negative Zahl. Testen
RocnRoll(close) < 0erfasst nur den Ausstiegszustand. Bärische Bars müssen geprüft werden mit= 2explizit. - Keine einstellbaren Parameter. Der Befehl akzeptiert nur die Preisquelle. Perioden und interne Schwellenwerte sind fest, daher kann das Signal nicht schneller oder langsamer gemacht werden. Unterschiede im Verhalten müssen stattdessen von der Zeiteinheit kommen.
- Den Zustand als Größe behandeln. Das Mitteln oder Summieren der Codes, zum Beispiel
Average[10](RocnRoll(close)), erzeugt Zahlen, die die Bezeichnungen 1, 2 und -1 zu bedeutungsloser Arithmetik vermischen. Vergleichen Sie nur auf Gleichheit. - Intransparente Logik. Da die interne Formel nicht offengelegt wird, können Backtest-Ergebnisse nicht in die zugrunde liegenden ROC- und Durchschnittsbedingungen zerlegt werden. Es ist unerlässlich, das Signal vor dem Live-Einsatz auf dem Zielinstrument und der Ziel-Zeiteinheit zu validieren.
Verwandte Befehle
ROC, der dem Signal zugrunde liegende Änderungsraten-Oszillator.RSI, begrenzter Momentum-Oszillator für die manuelle Signalkonstruktion.MACD, Momentum aus exponentiellen Durchschnitten mit Kreuzungssignalen.ExponentialAverage, die Glättungskomponente der internen Logik.Momentum, rohe N-Bar-Kursdifferenz.Stochastic, Oszillator der Position in der Range mit eigenen Signalkonventionen.Supertrend, Trendzustandsindikator, ein weiteres Signal kategorialer Art.SAR, Stop-and-Reverse-Punkte, ein alternativer Einstiegs- und Ausstiegsgenerator.