RocnRoll
RocnRoll en ProBuilder renvoie des signaux de trading discrets, 1 haussier, 2 baissier, -1 sortie, construits à partir du taux de variation et de moyennes exponentielles. Syntaxe, exemples.
Syntaxe
RocnRoll(price)Paramètres
| Nom | Type | Par défaut | Description |
|---|---|---|---|
price | source de prix | close | La série de prix sur laquelle le signal est calculé, généralement close, également open, high, ou low. |
Formule
RocnRoll est un générateur de signaux composite plutôt qu'un oscillateur continu. En interne, il combine le taux de variation de la série de prix avec des moyennes mobiles exponentielles pour classer la bar en cours dans l'un des trois états. Les périodes exactes et la logique de combinaison sont fixées par la plateforme et ne sont pas exposées comme paramètres. La correspondance des sorties est la suivante :
1 = bullish signal
2 = bearish signal
-1 = exit signalComment ça marche
La plupart des indicateurs de momentum renvoient une valeur à interpréter. RocnRoll renvoie au contraire un code de décision, ce qui en fait davantage une ligne de signal prête à l'emploi qu'une mesure brute. À chaque bar, la logique intégrée évalue le momentum, via le rate of change, par rapport à son contexte de moyenne exponentielle et émet l'un des trois états.
Sur un graphique, l'indicateur est conventionnellement affiché sous forme d'histogramme, barres vertes pour l'état 1, barres rouges pour l'état 2 et barres bleues pour l'état -1. Dans le code, les états sont exploités avec de simples tests d'égalité, ce qui garde la logique de stratégie courte, au prix de la transparence, puisque les seuils internes ne peuvent pas être réglés.
Un détail qui compte lors du test des états : le signal baissier vaut 2, pas -1 ni 0. La valeur négative est réservée à l'état de sortie, de sorte que des conditions comme RocnRoll(close) < 0 correspondent uniquement au signal de sortie, pas aux bars baissiers.
Exemples
Exemple 1, Histogramme de signal (Indicateur)
// 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"Applique RocnRoll au prix de clôture et dessine les codes d'état sous forme d'histogramme, barres à 1 pour haussier, 2 pour baissier et -1 pour les signaux de sortie.
Exemple 2, Système long uniquement piloté par les codes d'état (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
ENDIFLes trois états correspondent directement à la logique d'ordre, l'état 1 ouvre le long, l'état -1 ou 2 le ferme. Aucun seuil ni croisement n'a besoin d'être défini.
Exemple 3, Recherche de nouveaux signaux haussiers (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")Liste les instruments dont l'état RocnRoll est passé à haussier sur la bar en cours, en écartant ceux qui sont déjà dans l'état 1 depuis de nombreuses bars.
Interprétation
| Valeur | Signal | Affichage conventionnel |
|---|---|---|
| 1 | Haussier, conditions de momentum haussier réunies | Histogramme vert |
| 2 | Baissier, conditions de momentum baissier réunies | Histogramme rouge |
| -1 | Sortie, quitter le marché | Histogramme bleu |
L'indicateur donne un avis catégoriel, pas une mesure de force. Deux bars haussières consécutives ne sont pas plus fortes qu'une seule, et il n'y a aucune amplitude à comparer entre instruments. Il est généralement utilisé comme déclencheur au sein d'un cadre plus large, avec des filtres de tendance et une gestion du risque fournis séparément.
Erreurs et pièges courants
- Baissier vaut 2, pas un nombre négatif. Tester
RocnRoll(close) < 0ne capte que l'état de sortie. Les bars baissières doivent être testées avec= 2explicitement. - Aucun paramètre réglable. L'instruction n'accepte que la source de prix. Les périodes et les seuils internes sont fixes, donc le signal ne peut pas être rendu plus rapide ou plus lent. Les différences de comportement doivent venir de l'unité de temps à la place.
- Traiter l'état comme une amplitude. Faire la moyenne ou la somme des codes, par exemple
Average[10](RocnRoll(close)), produit des nombres qui mélangent les étiquettes 1, 2 et -1 dans une arithmétique dénuée de sens. Comparez uniquement par égalité. - Logique opaque. Comme la formule interne n'est pas exposée, les résultats de backtest ne peuvent pas être décomposés en conditions sous-jacentes de ROC et de moyenne. Valider le signal sur l'instrument et l'unité de temps visés avant toute utilisation en réel est essentiel.
Instructions liées
ROC, l'oscillateur de taux de variation sous-jacent au signal.RSI, oscillateur de momentum borné pour la construction manuelle de signaux.MACD, momentum en moyenne exponentielle avec signaux de croisement.ExponentialAverage, la composante de lissage de la logique interne.Momentum, différence brute de prix sur N bars.Stochastic, oscillateur de position dans l'amplitude avec ses propres conventions de signal.Supertrend, indicateur d'état de tendance, un autre signal de type catégoriel.SAR, points de stop and reverse, un générateur alternatif d'entrées et de sorties.