Stratégie de trading de suivi de tendance basée sur l'indicateur ZigZag


Date de création: 2024-01-08 10:13:24 Dernière modification: 2024-01-08 10:13:24
Copier: 0 Nombre de clics: 1089
1
Suivre
1617
Abonnés

Stratégie de trading de suivi de tendance basée sur l’indicateur ZigZag

Aperçu

Cette stratégie utilise l’indicateur ZigZag pour identifier la tendance des prix et ouvrir une position pour suivre la tendance lorsque la tendance est inversée. Dans le code de Strategy Pine, l’indicateur ZigZag est utilisé pour confirmer les nouveaux hauts et les nouveaux bas des prix.

Principe de stratégie

Le cœur de la stratégie est d’utiliser un ZigZag pour localiser les extrêmes des prix et montrer la tendance des prix. L’indicateur ZigZag est constitué d’une moyenne mobile exponentielle à prix élevé et bas. Plus précisément, il est construit en plusieurs étapes:

  1. L’EMA est une moyenne mobile indicielle de prix de clôture, composée de trois moyennes mobiles: la ligne rapide, la ligne moyenne et la ligne lente.

  2. Détermine si le prix est en tendance haussière, c’est-à-dire si la ligne médiane actuelle est supérieure à la ligne médiane de la ligne K précédente.

  3. Si la tendance est actuellement à la hausse, déterminez le prix le plus bas de la période de détection, compté à partir du bas de la vague précédente, en tant que valeur de ZigZag.

  4. Si la tendance actuelle est à la baisse, trouver le prix le plus élevé de la période de détection, compté à partir du sommet de la vague précédente, comme valeur de ZigZag.

  5. L’indicateur ZigZag, qui reflète les extrêmes de la fluctuation des prix, est ainsi formé.

Sur cette base, nous utilisons la ligne ZigZag comme référence pour juger de la tendance des prix. C’est-à-dire que lorsque les prix augmentent, nous faisons plus; lorsque les prix baissent, nous faisons moins.

Analyse des avantages

Les avantages de l’utilisation de l’indicateur ZigZag pour déterminer la tendance des prix et suivre les points extrêmes des prix pour la construction de positions sont les suivants:

  1. Le filtrage du bruit du marché pour capturer les principales tendances.

  2. Les signaux de négociation basés sur les hauts et les bas de prix permettent d’obtenir des bénéfices plus efficaces.

  3. Les lignes ZigZag sont plus lisses et permettent de réduire le nombre de faux signaux.

  4. Il est facile d’optimiser la stratégie en ajustant les paramètres ZigZag.

Analyse des risques

Les principaux risques de cette stratégie sont:

  1. Les opérations à long terme peuvent être bloquées par des fluctuations importantes.

  2. L’indicateur ZigZag est sensible aux paramètres. Une mauvaise configuration peut entraîner des opportunités manquées ou des faux signaux. Les paramètres doivent être testés et optimisés de manière appropriée.

  3. Les stratégies de suivi des tendances sont plus dépendantes de l’évolution des tendances.

Pour répondre à ces risques, nous pouvons mettre en place un mécanisme de stop-loss pour contrôler les pertes individuelles; en même temps, ajuster la taille de la position et ne pas poursuivre la manipulation de la position entière; enfin, utiliser une combinaison de différents types de stratégies.

Direction d’optimisation

Nous pouvons continuer à optimiser cette stratégie dans les domaines suivants:

  1. Augmentation des mécanismes de stop-loss, tels que la mise en place d’un stop-loss mobile ou d’un stop-loss pour le retrait des prix.

  2. En combinaison avec d’autres indicateurs, filtrer l’entrée. Par exemple, l’indicateur d’énergie renforcée, assurez-vous qu’il y a suffisamment d’énergie motrice; ou l’indicateur de volume de transaction, assurez-vous qu’il y a des caractéristiques de décharge.

  3. Différentes configurations de paramètres sont utilisées en fonction des différentes conditions du marché (comme le marché haussier et le marché baissier).

  4. Tester différents paramètres de la moyenne EMA pour trouver la meilleure combinaison de paramètres.

Résumer

Cette stratégie utilise l’indicateur ZigZag pour déterminer la tendance des prix et établir des positions de suivi près des points extrêmes. Son avantage est qu’il est en cours et rentable. Il existe également un risque de couverture.

Code source de la stratégie
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-07 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's ZigTrend Strategy v1.0", shorttitle = "ZigTrend 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
length = input(4)
ExtremeDetection = input(4)
src = input(close)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//ZigZag
f_zz(_length, _detection)=>
    _hls = ema(ema(ema(src, _length), round(_length*0.66)), round(_length*0.33))
    _isRising = _hls >= _hls[1]
    _zigzag = _isRising and not _isRising[1] ? lowest(_detection) :  not _isRising and _isRising[1] ? highest(_detection) : na
zigzag = f_zz(length, ExtremeDetection)
plot(zigzag, color=black, linewidth=2)

//Signals
up = close > zigzag
dn = close < zigzag

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)