Stratégie de supertendance pivotée sur plusieurs délais

Auteur:ChaoZhang est là., Date: 2024-01-31 17:29:37
Les étiquettes:

img

Résumé

Cette stratégie combine l'indicateur Pivot Points et les Bandes moyennes de plage vraie pour mettre en œuvre un système de suivi des tendances sur plusieurs délais.

La logique de la stratégie

Cette stratégie repose principalement sur deux indicateurs:

  1. Pivot Points: Calcule la moyenne des prix les plus élevés, les plus bas et les prix de clôture sur une certaine période pour déterminer les points de pivot supérieur et inférieur.

  2. Bande moyenne vraie: Calculer la moyenne vraie sur une certaine période, et déplacer la bande du milieu vers le haut et vers le bas pour former un canal.

La logique de négociation spécifique est la suivante:

Lorsque le prix franchit le canal de la plage moyenne, prenez des positions longues ou courtes le long de la direction de la rupture. Lorsque le prix revient dans le canal, fermez les positions. En outre, lorsque le prix franchit le point de pivot supérieur, prenez une position longue; lorsque le prix franchit le point de pivot inférieur, prenez une position courte.

La stratégie introduit également le concept de ligne moyenne pivot.Lorsque le bénéfice de prise dépasse la ligne moyenne, il est possible de fermer la moitié de la position pour bloquer un certain profit et contrôler le risque.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. Les cycles longs et intermédiaires déterminent les tendances majeures tandis que les cycles courts déterminent des entrées spécifiques.

  2. La ligne centrale de pivot offre une option pour fermer la moitié de la position, en obtenant un certain profit tout en assurant des transactions gagnantes.

  3. Les bandes moyennes True Range fournissent des niveaux de stop loss clairs.

  4. La stratégie a peu de paramètres, facile à optimiser pour les meilleures combinaisons de paramètres.

  5. Il évite au maximum le risque de fausses fuites.

Analyse des risques

La stratégie comporte également certains risques:

  1. Risques de stop loss plus élevés lors d'une forte volatilité du marché.

  2. La ligne du milieu peut souvent déclencher un stop loss lors de consolidations de marché.

  3. Des paramètres mal sélectionnés peuvent entraîner des transactions trop rares ou trop fréquentes.

  4. Les ruptures récentes du point pivot peuvent s'avérer être de fausses ruptures.

Directions d'optimisation

La stratégie peut être optimisée par les aspects suivants:

  1. Combinez plus de filtres comme le volume et les bandes de Bollinger pour éviter de faux signaux.

  2. Optimiser les périodes de Pivot Points et ATR pour trouver les meilleures combinaisons de paramètres.

  3. Mettez une zone tampon autour de la ligne du milieu pour éviter les déclencheurs fréquents.

  4. Ajoutez des filtres de tendance appropriés pour assurer le fonctionnement selon les tendances majeures.

Conclusion

En général, il s'agit d'une stratégie de suivi des tendances très pratique. Elle résout les difficultés courantes de stop loss des systèmes de tendance et permet de négocier des tendances contrôlables par le risque. C'est une stratégie fortement recommandée. Avec des optimisations et des améliorations appropriées, sa performance peut être encore améliorée.


/*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()

Plus de