Stratégie de suivi des tendances basée sur l'indicateur RSI et l'indicateur ZigZag


Date de création: 2024-02-22 16:15:18 Dernière modification: 2024-02-22 16:15:18
Copier: 0 Nombre de clics: 944
1
Suivre
1617
Abonnés

Stratégie de suivi des tendances basée sur l’indicateur RSI et l’indicateur ZigZag

Aperçu

Cette stratégie est appelée la stratégie de suivi de tendance de 15 minutes des crypto-monnaies basée sur les indicateurs RSI et ZigZag. La stratégie est spécialement conçue pour les marchés de crypto-monnaie sur une période de 15 minutes (comme ETHUSD/T, BTCUSD/T, etc.). La stratégie consiste à déterminer la direction de la tendance en combinant l’indicateur RSI pour déterminer les surachats et les survente et l’indicateur ZigZag pour déterminer les fluctuations de prix.

Principe de stratégie

La logique centrale de cette stratégie est d’utiliser simultanément l’indicateur RSI et l’indicateur ZigZag pour juger de la tendance des prix. Plus précisément, l’indicateur RSI détermine si le prix est en survente ou en survente et l’indicateur ZigZag détermine si le prix a subi une forte fluctuation d’un pourcentage spécifié.

En ce qui concerne le RSI, nous définissons une ligne de survente à 75 et une ligne de survente à 25. Lorsque la ligne de l’indicateur RSI passe de bas en haut à travers 25, la tendance est considérée comme passée de la survente à la hausse, et lorsque la ligne de l’indicateur RSI passe de haut en bas à travers 75, la tendance est considérée comme passée de la hausse à la survente.

En ce qui concerne l’indicateur ZigZag, nous avons défini une marge de fluctuation de 1% ❚ Lorsque le prix est en forte fluctuation de plus de 1%, l’indicateur ZigZag émet un signal ❚ Combiné avec le jugement de la tendance, nous pouvons voir le point de basculement de la tendance des prix ❚

Lorsque les deux indicateurs émettent un signal, si la direction de la tendance précédente est positive, et maintenant le RSI est en hausse et ZigZag affiche un trou de saut, nous jugeons que la tendance est au sommet, et nous pouvons envisager de faire faillite; inversement, si la direction de la tendance précédente est à la baisse, et maintenant le RSI est en hausse et ZigZag affiche un trou de saut, nous jugeons que la tendance est au bas, et nous pouvons envisager de faire plus.

Avantages stratégiques

Le plus grand avantage de cette stratégie réside dans le fait que la combinaison de deux indicateurs permet de filtrer efficacement les faux signaux et d’améliorer la qualité des signaux. Il est facile de générer de faux signaux en s’appuyant uniquement sur un seul indicateur, tandis que la stratégie peut filtrer certains signaux inefficaces grâce à la vérification de l’indicateur RSI et de l’indicateur ZigZag.

Un autre avantage est la flexibilité dans la configuration des paramètres. Les paramètres RSI et ZigZag de cette stratégie sont personnalisables, nous pouvons ajuster les paramètres en fonction des caractéristiques des différents marchés pour obtenir le meilleur effet. Cela donne une grande flexibilité à la stratégie.

Risque stratégique

Le risque principal de cette stratégie réside dans la probabilité que l’indicateur émet un mauvais signal. Bien que nous ayons utilisé la vérification de la combinaison de deux indicateurs, il est toujours possible que l’indicateur ne fonctionne pas et que la transaction soit interrompue en cas de forte volatilité du marché. De plus, une mauvaise configuration des paramètres peut affecter l’efficacité de la stratégie.

Pour réduire le risque, nous pouvons réduire le temps de maintien de position et arrêter les pertes en temps opportun. De plus, il est très important d’optimiser les paramètres et de prendre en compte les caractéristiques du marché.

Orientation de l’optimisation de la stratégie

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

  1. L’ajout d’une palette d’indicateurs, l’introduction de plus d’indicateurs pour un jugement global, tels que KDJ, MACD, etc., peut filtrer davantage le signal.

  2. L’introduction d’algorithmes d’apprentissage automatique pour optimiser automatiquement les paramètres par l’IA et s’adapter aux changements du marché.

  3. L’ajout d’un mécanisme d’arrêt adaptatif permettant d’ajuster dynamiquement la distance d’arrêt en fonction des fluctuations du marché.

  4. Optimisation de la gestion des positions, par exemple en répartissant les fonds en fonction des tendances.

  5. Définir des stratégies d’options pour changer automatiquement dans des marchés inhabituels.

Résumer

Cette stratégie est une stratégie de suivi de tendance typique. L’idée centrale est de combiner l’indicateur RSI et l’indicateur ZigZag pour déterminer le point de basculement de la tendance des prix. L’avantage de la stratégie réside dans la combinaison de deux indicateurs pour filtrer les signaux trompeurs et améliorer l’efficacité des transactions.

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