Suivez la stratégie de l'indicateur de la tendance

Auteur:ChaoZhang est là., Date: 2023-10-08 11h36: 01
Les étiquettes:

Résumé

Cette stratégie combine la stratégie d'inversion des points pivots avec l'indicateur d'indice de force relative (RSI) pour détecter les opportunités potentielles d'inversion de tendance aux niveaux pivots en vérifiant les signaux RSI.

La logique de la stratégie

La stratégie calcule d'abord les niveaux de support et de résistance clés en regardant à gauche et à droite sur un certain nombre de barres pour trouver le pivot le plus élevé et le pivot le plus bas. Lorsqu'un niveau de pivot est établi, elle vérifie en outre si le RSI répond aux conditions de surachat ou de survente. Plus précisément, si le RSI est en dessous de la ligne de survente à la résistance, il est considéré comme survendu pour une entrée longue. Si le RSI est au-dessus de la ligne de surachat au support, il est considéré comme suracheté pour une entrée courte. Cela permet d'utiliser le filtre RSI pour identifier les fausses ruptures et un meilleur timing d'entrée aux points d'inversion de tendance.

Les détails du code sont les suivants:

  1. Calculer le support et la résistance du pivot
  • Utilisez pivothigh (()) et pivotlow (()) pour calculer les niveaux de pivot basés sur N barres gauche et droite
  • Enregistrer les pivots et définir les conditions pour déterminer la tendance haussière ou la tendance baissière
  1. Calculer le RSI
  • Utiliser rsi() pour calculer les valeurs de l'indicateur
  • Définir les seuils de surachat/survente pour l'indice de volatilité
  1. Combiner les signaux pivot et RSI
  • Passez long si la tendance haussière est à la résistance et que le RSI est inférieur à la ligne de survente
  • Passer à la vente à découvert si la tendance à la baisse se situe au niveau du support et que l'indice de résistance est supérieur à la ligne de surachat
  1. Mettez un stop-loss et un profit
  • L'indicateur d'indicateur de risque est utilisé pour déterminer la valeur de l'indicateur d'indice de risque.
  • Perte à arrêt court supérieure à la résistance d'un tick minimum

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. Confirmation de tendance: le RSI filtre les fausses ruptures et évite les entrées erronées lors de baisses temporaires.

  2. Contrôle des risques: les arrêts sont placés près des principaux supports et résistances pour une meilleure gestion des risques.

  3. Versatilité: Applicable à différents produits et délais.

  4. Simplicité: indicateurs et paramètres minimaux pour une mise en œuvre facile.

  5. Efficacité des données: seules les données OHLC nécessaires et non sensibles à la qualité des données.

Analyse des risques

Les risques potentiels sont les suivants:

  1. Risque d'échec du pivot: les niveaux clés peuvent être brisés lors d'énormes fluctuations du marché, ce qui entraîne une défaillance de la stratégie.

  2. Risque de divergence du RSI: le RSI peut diverger et devenir inefficace pour les surachats / survente sur les marchés agités. Les paramètres du RSI peuvent être ajustés et des filtres supplémentaires ajoutés pour valider les signaux du RSI.

  3. Risque de stop loss: les stops peuvent être effectués lors de fortes tendances entraînant une augmentation des pertes. Des distances de stop loss plus larges pourraient aider, mais nécessitent un équilibre entre les bénéfices et les risques.

  4. Risque de retrait: la stratégie est exécutée à chaque tick et peut faire face à des retraitements lors d'inversions défavorables.

Directions d'optimisation

La stratégie peut être améliorée sous plusieurs aspects:

  1. Optimiser le calcul du pivot en testant différentes périodes de rétrospective gauche/droite et en ajoutant des filtres pour améliorer la précision.

  2. Optimiser les paramètres du RSI pour une meilleure détection de la surachat/survente.

  3. Ajoutez des filtres supplémentaires pour éviter les sacs à épée sur les marchés instables, tels que les indicateurs de volatilité.

  4. Optimiser les arrêts pour équilibrer les bénéfices et les risques.

  5. Utiliser des arrêts statistiques basés sur l'analyse des données historiques pour déterminer les plages d'arrêt des pertes.

  6. Ajoutez une confirmation multi-temps pour améliorer le taux de victoire en utilisant plusieurs périodes.

Conclusion

La stratégie Go With The Trend RSI combine les points de pivot et le RSI pour identifier les points de tournant potentiels de la tendance et trouver des entrées optimales. Par rapport à l'utilisation de techniques uniques telles que le pivot ou le RSI seul, cette stratégie améliore la robustesse et la cohérence. Des optimisations supplémentaires des paramètres et des filtres peuvent améliorer le taux de gain et les rendements ajustés au risque.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-07 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Pivot Point Reversal + RSI Strategy", shorttitle = 'PP + RSI Strategy', overlay=true)

////////////
// Inputs //

leftBars   = input(3,  title = 'PP - Left Bars')
rightBars  = input(3,  title = 'PP - Right Bars')
rsi_length = input(14, title = "RSI - Length")
rsi_long   = input(70, title = "RSI - Overbought level")
rsi_short  = input(30, title = "RSI - Overold level")

//////////////////
// Calculations //

// Pivot Points
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)

// Pivot High 
swh_cond = not na(swh)
 
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
 
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

// Pivot Low 
swl_cond = not na(swl)
 
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
 
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

// RSI 
rsi = rsi(close, 14)

//////////////
// STRATEGY //

if (le and rsi[rightBars] < rsi_long )
    strategy.entry("PivRevLE", strategy.long,  comment = "PivRSI Long",  stop = hprice + syminfo.mintick)
 
if (se and rsi[rightBars] > rsi_short)
    strategy.entry("PivRevSE", strategy.short, comment = "PivRSI Short", stop = lprice - syminfo.mintick)
 

Plus de