Stratégie de super tendance à points pivots sur plusieurs périodes


Date de création: 2024-01-31 17:29:37 Dernière modification: 2024-01-31 17:29:37
Copier: 0 Nombre de clics: 731
1
Suivre
1617
Abonnés

Stratégie de super tendance à points pivots sur plusieurs périodes

Aperçu

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.

Principe de stratégie

La stratégie est basée sur deux principaux indicateurs:

  1. 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.

  2. 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.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Définition du cadre temporel pluriannuel, Détermines à moyen et long terme, Tendances à court terme, Détermines à court terme, Entrée spécifique.

  2. 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é.

  3. Le canal de bande d’ondulation moyenne réelle fournit une position claire d’arrêt de perte.

  4. Les paramètres stratégiques sont moins nombreux et il est plus facile d’optimiser pour trouver la meilleure combinaison de paramètres.

  5. Le risque d’une fausse intrusion a été évité au maximum.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Le risque de perte est plus élevé en période de forte volatilité.

  2. En cas de choc, l’axe central peut être soumis à des contraintes et peut se briser fréquemment.

  3. Une mauvaise sélection de paramètres peut entraîner une fréquence ou un nombre insuffisant de transactions.

  4. Le prix a récemment franchi un pivot, ce qui pourrait être une fausse rupture.

Direction d’optimisation

Cette stratégie peut être optimisée dans les directions suivantes:

  1. 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.

  2. 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.

  3. 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.

  4. Ajouter un filtre de tendance approprié pour s’assurer que les grandes tendances fonctionnent dans la même direction.

Résumer

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.

Code source de la stratégie
/*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()