Stratégie de stop loss dynamique multi-indicateurs basée sur la confirmation de tendance

SMA MACD ADX Swing Low
Date de création: 2025-02-20 11:19:58 Dernière modification: 2025-02-20 11:19:58
Copier: 2 Nombre de clics: 323
2
Suivre
319
Abonnés

Stratégie de stop loss dynamique multi-indicateurs basée sur la confirmation de tendance Stratégie de stop loss dynamique multi-indicateurs basée sur la confirmation de tendance

Aperçu

Il s’agit d’une stratégie de suivi de tendance combinant plusieurs indicateurs techniques, principalement une combinaison synchrone de trois indicateurs, principalement via SMA (Simple Moving Average), MACD (Moving Average Convergence Scatter Indicator) et ADX (Average Trend Indicator), qui est négociée au niveau de la ligne de la semaine. La stratégie utilise un mécanisme de stop-loss dynamique pour optimiser la gestion des risques en identifiant les basses oscillantes (Swing Low), permettant un contrôle de position plus précis.

Principe de stratégie

La logique centrale de la stratégie est basée sur un mécanisme de triple vérification:

  1. Pour juger de la direction de la tendance globale, le prix au-dessus de la moyenne représente une tendance à la hausse
  2. Utilisez le MACD ((9,18,9) pour capturer l’énergie du mouvement des prix, en demandant que la ligne MACD soit au-dessus de la ligne de signal et soit positive
  3. L’ADX plus grand que 25 indique que la tendance est satisfaisante
  4. Ouvrir une position en plus si les trois conditions ci-dessus sont remplies
  5. Définition d’un stop-loss dynamique en identifiant les basses secondaires et en liquidant les positions lorsque le prix est inférieur au SMA

Avantages stratégiques

  1. La vérification croisée de multiples indicateurs réduit considérablement l’impact des faux signaux
  2. La négociation au niveau de la courbe est utilisée pour éviter les perturbations de la fluctuation de la journée.
  3. Mécanisme de stop-loss dynamique, qui s’adapte à la position de stop-loss en faisant osciller les points bas
  4. Le filtrage de l’ADX tend à faiblir, améliorant la qualité des transactions
  5. Gestion complète des risques, incluant une double protection contre le renversement de la tendance et contre les pertes

Risque stratégique

  1. La multiplication des indicateurs peut entraîner des retards de signal et des occasions manquées dans un mouvement rapide.
  2. Les opérations au niveau de la circonférence peuvent faire face à des retraits plus importants
  3. Identification des basses oscillations qui peuvent être instables dans des fluctuations fortes
  4. Il faut plus de temps pour accumuler suffisamment de données sur les prix
  5. Des signaux erronés peuvent être fréquents dans les marchés en crise

Orientation de l’optimisation de la stratégie

  1. L’introduction de paramètres d’indicateur d’adaptation peut être envisagée, ajustés en fonction de la dynamique de la volatilité du marché
  2. Augmentation de la vérification des indicateurs de transaction et amélioration de la fiabilité du signal
  3. Développer des algorithmes de reconnaissance Swing Low plus intelligents
  4. Ajout d’une classification des environnements de marché, avec des paramètres différents pour les différentes états du marché
  5. Optimisation de la logique de stop-loss, considérant l’introduction de stop-loss mobile

Résumer

La stratégie utilise la synergie de multiples indicateurs techniques pour construire un système de suivi de tendance robuste. Le mécanisme de stop-loss dynamique offre un bon contrôle des risques et convient au suivi des tendances à moyen et long terme. Les principaux avantages de la stratégie résident dans la fiabilité du signal et la gestion des risques, mais elle est également confrontée à des défis tels que le retard de signal.

Code source de la stratégie
/*backtest
start: 2024-02-20 00:00:00
end: 2024-03-12 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Invest SMA|MACD|ADX Long Weekly Strategy (BtTL)", overlay=true)

// SMA Inputs
smaLength = input.int(30, title="SMA Länge")
// MACD Inputs
macdFastLength = input.int(9, title="MACD schnelle Periode")
macdSlowLength = input.int(18, title="MACD langsame Perside")
macdSignalLength = input.int(9, title="MACD Signal Smoothing")
//ADX Inputs
adxlen = input(14, title="ADX Smoothing")
dilen = input(14, title="DI Länge")

// SMA-Berechnung
smaValue = ta.sma(close, smaLength)
isAboveSMA = close > smaValue
isBelowSMA = close < smaValue

// MACD-Berechnung
[macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength)
isMACDBuy = macdLine > signalLine and macdLine > 0

// Swing-Low Berechnung (5-Kerzen)
isSwingLow = low[2] > low[1] and low[3] > low[1] and low[1] < low and low[1] < low[4]
var float lastSwingLow = na
var float secondLastSwingLow = na

// Wenn ein neuer Swing-Low gefunden wird
if (isSwingLow[1])
    secondLastSwingLow := lastSwingLow
    lastSwingLow := low[1]

//ADX ermitteln
[pDI,mDI,ADX] = ta.dmi(dilen, adxlen)
IsInTrend = ADX > 25

// Einstiegskondition mit MACD und SMA
longCondition = isAboveSMA and isMACDBuy and IsInTrend
if (longCondition)
    strategy.entry("Long", strategy.long)

// Ausstiegskondition am vorletzten Swing-Low
if (isBelowSMA and na(secondLastSwingLow) == false)
    strategy.exit("Exit", from_entry="Long", stop=secondLastSwingLow)

// Reset bei Position schließen
if(strategy.position_size <= 0)
    secondLastSwingLow := na
    lastSwingLow := na

// Plots
plot(smaValue, title="SMA 30", color=#063eda, linewidth=2)
plot(na(lastSwingLow) ? na : lastSwingLow, title="Last Swing Low", color=#ffb13b, linewidth=1, style=plot.style_circles)
plot(na(secondLastSwingLow) ? na : secondLastSwingLow, title="Second Last Swing Low", color=color.red, linewidth=1, style=plot.style_circles)