
Cette stratégie combine l’indicateur de pivot et l’indicateur de bande de mouvement réel moyen pour réaliser un système de suivi de la tendance sur plusieurs périodes. Il peut capturer les tendances des périodes intermédiaires tout en utilisant les pivots pour déterminer la résistance des supports à long terme et obtenir de meilleures entrées et sorties.
La stratégie est basée sur deux principaux indicateurs:
Indicateur des pivots: déterminer les pivots supérieurs et inférieurs en calculant les valeurs moyennes des prix maximaux, minimaux et de clôture d’un cycle donné. Les pivots peuvent servir de zones de résistance de soutien clés.
Bandes d’ondes réelles moyennes: calculer l’amplitude moyenne des ondes réelles d’un certain cycle et déplacer le canal vers le haut et vers le bas sur l’axe central, le long du canal en haut et en bas peut servir de ligne d’arrêt dynamique.
La logique de négociation spécifique de la stratégie est la suivante:
Lorsque le prix franchit le canal de la bande de fluctuation réelle moyenne, adoptez une direction de hausse ou de baisse conforme à la direction de la rupture. Lorsque le prix revient dans le canal, la position est nulle.
La stratégie introduit également le concept de ligne médiane de pivot. Lorsqu’un stop-loss franchit la ligne médiane, il est possible d’opter pour la moitié des bénéfices et le contrôle des risques.
Cette stratégie présente les avantages suivants:
Définition du cadre temporel pluriannuel, Détermines à moyen et long terme, Tendances à court terme, Détermines à court terme, Entrée spécifique.
La ligne centrale de pivot peut être utilisée comme option de contrôle des risques, pour récolter la moitié des bénéfices et assurer la rentabilité.
Le canal de bande d’ondulation moyenne réelle fournit une position claire d’arrêt de perte.
Les paramètres stratégiques sont moins nombreux et il est plus facile d’optimiser pour trouver la meilleure combinaison de paramètres.
Le risque d’une fausse intrusion a été évité au maximum.
Cette stratégie comporte aussi des risques:
Le risque de perte est plus élevé en période de forte volatilité.
En cas de choc, l’axe central peut être soumis à des contraintes et peut se briser fréquemment.
Une mauvaise sélection de paramètres peut entraîner une fréquence ou un nombre insuffisant de transactions.
Le prix a récemment franchi un pivot, ce qui pourrait être une fausse rupture.
Cette stratégie peut être optimisée dans les directions suivantes:
Il est possible de filtrer les signaux d’entrée de jeu avec d’autres indicateurs, afin d’éviter les fausses percées. Par exemple, l’indicateur de puissance combinée, l’indicateur de bande de Brin, etc.
Optimiser les paramètres périodiques des axes centraux et des bandes de fréquences réelles moyennes pour trouver la combinaison optimale de paramètres.
Une zone de protection est établie près de la ligne centrale du centre de l’axe pour éviter que la ligne centrale ne soit fréquemment déclenchée.
Ajouter un filtre de tendance approprié pour s’assurer que les grandes tendances fonctionnent dans la même direction.
Cette stratégie est une stratégie de suivi de tendance très pratique dans l’ensemble. Elle résout le problème de la difficulté de l’arrêt de la plupart des systèmes de tendance, et permet une négociation de tendance à risque contrôlable.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © LonesomeTheBlue
//@version=4
strategy("Pivot Point SuperTrend [Backtest]", overlay = true)
prd = input(defval = 2, title="Pivot Point Period", minval = 1, maxval = 50)
Factor=input(defval = 3, title = "ATR Factor", minval = 1, step = 0.1)
Pd=input(defval = 10, title = "ATR Period", minval=1)
usecenter = input(defval = false, title="Use Center Line to Close Entry for 50%")
showpivot = input(defval = false, title="Show Pivot Points")
showcl = input(defval = false, title="Show PP Center Line")
float ph = na
float pl = na
ph := pivothigh(prd, prd)
pl := pivotlow(prd, prd)
plotshape(ph and showpivot, text="H", style=shape.labeldown, color=na, textcolor=color.red, location=location.abovebar, transp=0, offset = -prd)
plotshape(pl and showpivot, text="L", style=shape.labeldown, color=na, textcolor=color.lime, location=location.belowbar, transp=0, offset = -prd)
float center = na
center := center[1]
float lastpp = ph ? ph : pl ? pl : na
if lastpp
if na(center)
center := lastpp
else
center := (center * 2 + lastpp) / 3
Up = center - (Factor * atr(Pd))
Dn = center + (Factor * atr(Pd))
float TUp = na
float TDown = na
Trend = 0
TUp := close[1] > TUp[1] ? max(Up, TUp[1]) : Up
TDown := close[1] < TDown[1] ? min(Dn, TDown[1]) : Dn
Trend := close > TDown[1] ? 1: close < TUp[1]? -1: nz(Trend[1], 1)
Trailingsl = Trend == 1 ? TUp : TDown
linecolor = Trend == 1 and nz(Trend[1]) == 1 ? color.lime : Trend == -1 and nz(Trend[1]) == -1 ? color.red : na
plot(Trailingsl, color = linecolor , linewidth = 2, title = "PP SuperTrend")
plot(showcl ? center : na, color = showcl ? center < hl2 ? color.blue : color.red : na, transp = 0)
bsignal = Trend == 1 and Trend[1] == -1
ssignal = Trend == -1 and Trend[1] == 1
if bsignal
strategy.entry("Buy", true, 2, comment = "Buy")
if ssignal
strategy.entry("Sell", false, 2, comment = "Sell")
if strategy.position_size == 2 and center > hl2 and usecenter
strategy.close("Buy", qty_percent = 50, comment = "close buy entry for 50%")
if strategy.position_size == -2 and center < hl2 and usecenter
strategy.close("Sell", qty_percent = 50, comment = "close sell entry for 50%")
if change(Trend)
strategy.close_all()