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.
Cette stratégie repose principalement sur deux indicateurs:
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.
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.
La stratégie présente les avantages suivants:
Les cycles longs et intermédiaires déterminent les tendances majeures tandis que les cycles courts déterminent des entrées spécifiques.
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.
Les bandes moyennes True Range fournissent des niveaux de stop loss clairs.
La stratégie a peu de paramètres, facile à optimiser pour les meilleures combinaisons de paramètres.
Il évite au maximum le risque de fausses fuites.
La stratégie comporte également certains risques:
Risques de stop loss plus élevés lors d'une forte volatilité du marché.
La ligne du milieu peut souvent déclencher un stop loss lors de consolidations de marché.
Des paramètres mal sélectionnés peuvent entraîner des transactions trop rares ou trop fréquentes.
Les ruptures récentes du point pivot peuvent s'avérer être de fausses ruptures.
La stratégie peut être optimisée par les aspects suivants:
Combinez plus de filtres comme le volume et les bandes de Bollinger pour éviter de faux signaux.
Optimiser les périodes de Pivot Points et ATR pour trouver les meilleures combinaisons de paramètres.
Mettez une zone tampon autour de la ligne du milieu pour éviter les déclencheurs fréquents.
Ajoutez des filtres de tendance appropriés pour assurer le fonctionnement selon les tendances majeures.
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()