Stratégies de suivi des tendances basées sur les indicateurs RSI et ZigZag

Auteur:ChaoZhang est là., Date: le 22 février 2024 16:15:18
Les étiquettes:

基于RSI指标和ZigZag指标趋势追踪策略

Résumé

Cette stratégie est appelée la stratégie de suivi de la tendance de 15 minutes de la crypto-monnaie basée sur l'indicateur RSI et l'indicateur ZigZag. Cette stratégie est spécialement conçue pour les marchés de crypto-monnaie sur une période de 15 minutes (par exemple, ETHUSD/T, BTCUSD/T, etc.).

Les principes stratégiques

La logique de base de cette stratégie est d'utiliser l'indicateur RSI et l'indicateur ZigZag en même temps pour déterminer la tendance des prix. Plus précisément, l'indicateur RSI détermine si le prix est trop acheté ou trop vendu et l'indicateur ZigZag détermine si le prix a subi une forte hausse d'un certain pourcentage.

En ce qui concerne l'indicateur RSI, nous avons défini la ligne d'achat sur 75 et la ligne d'achat sur 25 ; lorsque la ligne RSI traverse le bas vers le haut de 25, on considère que le marché est passé de la survente à la hausse; lorsque la ligne RSI traverse le haut vers le bas de 75, on considère que le marché est passé de la hausse à la hausse.

En ce qui concerne l'indicateur ZigZag, nous avons défini le seuil d'amplitude de la hausse des prix à 1% ; lorsque le prix a connu une forte hausse de plus de 1%, la ligne de l'indicateur ZigZag émet un signal ; en combinant le jugement de tendance, nous pouvons voir les points de basculement de la tendance des prix.

Lorsque les deux indicateurs émettent des signaux, si la direction de la tendance précédente est haussière, et que maintenant le RSI est en survente et que ZigZag montre un déficit, alors nous déterminons que le marché a atteint un sommet, à ce moment-là, nous pouvons envisager de le faire; inversement, si la direction de la tendance précédente est en baisse, maintenant le RSI est en survente et que ZigZag montre un déficit, alors nous déterminons le bas de la tendance, à ce moment-là, nous pouvons envisager de le faire.

Les avantages stratégiques

Le principal avantage de cette stratégie est qu'elle permet de filtrer efficacement les faux signaux en combinant les deux indicateurs, ce qui améliore la qualité du signal. Il est facile de créer de faux signaux en se basant uniquement sur un seul indicateur, tandis que la vérification des indicateurs RSI et ZigZag permet de filtrer certains signaux inefficaces, ce qui améliore les chances de gagner.

Un autre avantage est la flexibilité des paramètres. Les paramètres RSI et ZigZag de cette stratégie sont tous deux personnalisables et nous pouvons les ajuster en fonction des caractéristiques de différents marchés pour obtenir les meilleurs résultats.

Risque stratégique

Le principal risque de cette stratégie réside dans la probabilité que l'indicateur envoie le mauvais signal. Bien que nous ayons utilisé la vérification de la combinaison de deux indicateurs, il est toujours possible que l'indicateur échoue et entraîne des erreurs de transaction en période de forte volatilité du marché. En outre, une mauvaise configuration des paramètres peut également affecter l'effet de la stratégie.

Pour réduire les risques, nous pouvons réduire le temps de détention des positions de manière appropriée, et arrêter les pertes en temps opportun. Cependant, il est très important d'optimiser les paramètres de réglage et de prendre en compte pleinement les caractéristiques du marché.

Optimisation stratégique

Cette stratégie peut être optimisée dans les domaines suivants:

  1. L'ajout d'une combinaison d'indicateurs et l'introduction de plus d'indicateurs pour un jugement global, tels que KDJ, MACD, etc., peuvent filtrer davantage le signal.

  2. L'introduction d'algorithmes d'apprentissage automatique permettant d'optimiser automatiquement les paramètres pour s'adapter aux changements du marché.

  3. L'ajout d'un mécanisme d'arrêt adaptatif permet d'ajuster dynamiquement la distance d'arrêt en fonction de l'ampleur des fluctuations du marché.

  4. Optimiser la gestion des positions, par exemple en allouant des fonds selon les tendances.

  5. La stratégie de sauvegarde est définie et la commutation est automatique en cas de marché inhabituel.

Résumé

L'idée centrale est de combiner les indicateurs RSI et ZigZag pour déterminer les points de basculement des prix. L'avantage de la stratégie réside dans la combinaison des deux indicateurs, qui filtrent les signaux trompeurs et améliorent l'efficacité des transactions. Il est nécessaire de prendre en compte pleinement les risques de défaillance des indicateurs et d'améliorer constamment la stratégie par des moyens tels que l'optimisation des paramètres, l'optimisation des dommages, l'optimisation des positions.


/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
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/
// © SoftKill21
//@version=4
strategy("Crypto ZigZag RSI strategy 15min",overlay=true)
length =input(5, title="RSI Length")
overSold = input(25)
overBought= input(75)

p =close

vrsi = rsi(p, length)
var bool long = na
var bool short = na

long :=crossover(vrsi,overSold) 
short := crossunder(vrsi,overBought)

var float last_open_long = na
var float last_open_short = na

last_open_long := long ? close : nz(last_open_long[1])
last_open_short := short ? close : nz(last_open_short[1])


entry_value =last_open_long
entry_value1=last_open_short

//
ZZPercent = input(1, title="Minimum % Change", type=input.float)
r1Level=entry_value
s1Level=entry_value1
trend = 0
trend := na(trend[1]) ? 1 : trend[1]
LL = 0.0
LL := na(LL[1]) ? s1Level : LL[1]
HH = 0.0
HH := na(HH[1]) ?r1Level : HH[1]

Pi = ZZPercent * 0.01
zigzag = float(na)

if trend > 0  
    if r1Level >= HH  
        HH := r1Level
        HH
    else
        if s1Level < HH * (1 - Pi)
            zigzag :=r1Level[1]
            trend := -1
            LL := s1Level
            LL
else
   
    if s1Level <= LL 
        LL := s1Level
        LL
    else
        if r1Level > LL * (1 + Pi)
            zigzag := s1Level[1]
            trend := 1
            HH := s1Level
            HH


shortc=crossunder(trend,0)
longc=crossover(trend,0)


longa =input(true)
shorta=input(false)

if(longa)
    strategy.entry("long",1,when=longc)
    strategy.close("long",when=shortc)
if(shorta)
    strategy.entry("short",0,when=shortc)
    strategy.close("long",when=longc)


En savoir plus