Stratégie de suivi des tendances croisées à double moyenne mobile combinée à un système de contrôle des risques et de filtrage du temps

EMA SL TP ALGO
Date de création: 2024-11-29 15:05:45 Dernière modification: 2024-11-29 15:05:45
Copier: 0 Nombre de clics: 368
1
Suivre
1617
Abonnés

Stratégie de suivi des tendances croisées à double moyenne mobile combinée à un système de contrôle des risques et de filtrage du temps

Aperçu

La stratégie est un système de trading complet qui combine des signaux de croisement bi-homogènes, une gestion stop-loss et un filtrage temporel. Le cœur de la stratégie est basé sur la croisée des moyennes mobiles (EMA) indicielles rapides et lentes pour capturer les tendances du marché et contrôler les risques en définissant des arrêts (Take Profit) et des arrêts (Stop Loss). La stratégie contient également une fonction de filtrage temporel permettant aux traders d’exécuter des transactions dans une période donnée.

Principe de stratégie

La stratégie repose sur les mécanismes fondamentaux suivants :

  1. Moyenne mobile indexée utilisant deux périodes différentes (default 5 et 21)
  2. Lorsque l’EMA rapide traverse l’EMA lente vers le haut, le système génère un signal de multiplication
  3. Lorsque l’EMA rapide traverse l’EMA lente vers le bas, le système génère un signal de vide
  4. Chaque transaction est réglée sur un pourcentage de stop loss et de stop loss.
  5. L’orientation de la transaction peut être configurée de manière flexible: faire seulement plus, faire seulement moins ou négocier dans les deux sens
  6. Fonctionnalité de filtrage de temps intégrée, qui permet d’exécuter des transactions uniquement dans une période donnée
  7. Le système déclenche une alerte à un moment critique (ouverture de position, toucher le stop loss/arrêt)

Avantages stratégiques

  1. Gestion systématique des risques: fournir un contrôle clair des risques pour chaque transaction grâce à des niveaux prédéfinis de stop loss et de stop loss
  2. Configuration de paramètres flexible: les traders peuvent ajuster les cycles EMA et les niveaux de stop loss et stop loss en fonction des différentes conditions du marché
  3. Liberté de choisir la direction: il est possible de choisir entre une transaction unidirectionnelle ou bidirectionnelle pour s’adapter aux différentes préférences du marché
  4. Capacité de gestion du temps: évitez les transactions à des moments défavorables grâce à la fonction de filtrage du temps
  5. Alerte en temps réel: aide les traders à obtenir des signaux de trading et des avertissements de risque en temps réel
  6. Gestion complète des positions: le système gère automatiquement les entrées et les sorties sans intervention humaine

Risque stratégique

  1. Risque de choc: les faux signaux peuvent être fréquents dans les marchés à la bifurcation
  2. Risque de glissement: une forte volatilité du marché peut entraîner une déviation du prix réel de l’arrêt de perte
  3. Sensitivité des paramètres: le choix de la période EMA a un impact plus important sur la performance de la stratégie
  4. Dépendance à la tendance: les stratégies peuvent mal fonctionner dans les marchés non tendances
  5. Risques de gestion de fonds: le stop loss à pourcentage fixe peut ne pas être suffisamment flexible dans certaines conditions de marché

Orientation de l’optimisation de la stratégie

  1. Ajouter un filtre d’environnement de marché :
    • Ajout d’indicateurs de volatilité pour s’adapter à différentes conditions du marché
    • Introduction de filtres d’intensité de tendance pour éviter les fausses ruptures
  2. Modification des paramètres dynamiques:
    • Ajuster le niveau de stop loss en fonction de la dynamique de la volatilité du marché
    • Adaptation dynamique des cycles EMA en fonction de l’intensité des tendances du marché
  3. Gestion des risques améliorée :
    • Ajout d’une fonction de protection contre les pertes mobiles
    • Mettre en place un mécanisme de création et de réduction de positions par lots
  4. La précision de l’entrée en jeu:
    • La validité du signal est confirmée par l’indicateur de quantité combinée
    • Ajout d’autres indicateurs techniques comme confirmation auxiliaire

Résumer

Il s’agit d’une stratégie de suivi de tendance bien conçue, qui offre aux traders une solution de trading complète en combinant un système homogène, une gestion des risques et un filtrage du temps. La stratégie est hautement configurable et convient aux traders ayant des préférences de risque différentes.

Code source de la stratégie
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia Cruce de EMAs con: Stop Loss, Take Profit, Días de Operación y Alertas (Modificables)", overlay=true, commission_value = 0.2, process_orders_on_close = true, initial_capital = 1000)

// Parámetros de las EMAs
emaRapidaLen = input.int(5, title="Periodo EMA rápida")
emaLentaLen = input.int(21, title="Periodo EMA lenta")

// Parámetros de Stop Loss y Take Profit
stopLoss = input.float(3.0, title="Stop Loss (%)", step=0.1) / 100
takeProfit = input.float(6.0, title="Take Profit (%)", step=0.1) / 100

// Tipo de operación: Largo, Corto o Ambos
operacion = input.string(title="Tipo de operación", defval="Largo", options=["Largo", "Corto", "Ambos"])

// Parámetros de la duración de la estrategia (días)
diasInicio = input(timestamp("2009-01-03 00:00"), title="Fecha de inicio (YYYY-MM-DD HH:MM)")
diasFin = input(timestamp("2024-09-11 00:00"), title="Fecha de fin (YYYY-MM-DD HH:MM)")

// Comprobar si estamos dentro del rango de días definido
dentroDeRango = true

// Cálculo de las EMAs
emaRapida = ta.ema(close, emaRapidaLen)
emaLenta = ta.ema(close, emaLentaLen)

// Condiciones para cruce de EMAs
cruceAlcista = ta.crossover(emaRapida, emaLenta)
cruceBajista = ta.crossunder(emaRapida, emaLenta)

// Operaciones en Largo (solo si estamos en el rango de días definido)
if dentroDeRango and (operacion == "Largo" or operacion == "Ambos") and cruceAlcista 
    strategy.entry("Compra", strategy.long)
    alert("Posición larga abierta: Cruce alcista de EMAs", alert.freq_once_per_bar_close)

// Operaciones en Corto (solo si estamos en el rango de días definido)
if dentroDeRango and (operacion == "Corto" or operacion == "Ambos") and cruceBajista
    strategy.entry("Venta", strategy.short)
    alert("Posición corta abierta: Cruce bajista de EMAs", alert.freq_once_per_bar_close)

// Cálculo del Stop Loss y Take Profit para largos
if (strategy.position_size > 0 and strategy.opentrades.entry_id(strategy.opentrades - 1) == "Compra")
    strategy.exit("Cerrar Compra", "Compra", stop=strategy.position_avg_price * (1 - stopLoss), limit=strategy.position_avg_price * (1 + takeProfit))
    alert("Posición larga cerrada: Alcanzado Stop Loss o Take Profit", alert.freq_once_per_bar_close)

// Cálculo del Stop Loss y Take Profit para cortos
if (strategy.position_size < 0 and strategy.opentrades.entry_id(strategy.opentrades - 1) == "Venta")
    strategy.exit("Cerrar Venta", "Venta", stop=strategy.position_avg_price * (1 + stopLoss), limit=strategy.position_avg_price * (1 - takeProfit))
    alert("Posición corta cerrada: Alcanzado Stop Loss o Take Profit", alert.freq_once_per_bar_close)

// Plot de las EMAs
plot(emaRapida, color=color.blue, title="EMA rápida", linewidth = 2)
plot(emaLenta, color=color.red, title="EMA lenta", linewidth = 2)