Stratégie quantitative multifactorielle de suivi de tendance

SAR EMA RSI ADX ATR
Date de création: 2025-04-24 17:23:29 Dernière modification: 2025-04-24 17:23:29
Copier: 0 Nombre de clics: 355
2
Suivre
319
Abonnés

Stratégie quantitative multifactorielle de suivi de tendance Stratégie quantitative multifactorielle de suivi de tendance

Aperçu

La stratégie est un système de suivi de tendance multi-facteurs combinant les indicateurs de dérivation de la parabole (SAR), les moyennes mobiles de l’indice (EMA), les indices de force relative (RSI) et l’indice de tendance moyenne (ADX). Elle identifie les tendances potentielles par la synergie de plusieurs indicateurs techniques et émet des transactions lorsque la tendance est confirmée. La stratégie de signaux utilise également une méthode de gestion des risques dynamiques basée sur l’amplitude réelle moyenne (ATR) pour calculer automatiquement les niveaux de stop loss et de stop loss.

Principe de stratégie

  1. Confirmation de la tendance: une tendance à la hausse est confirmée lorsque le prix franchit la ligne de parallèle (SAR) et que le prix de clôture est supérieur à l’EMA rapide; une tendance à la baisse est confirmée lorsque le prix franchit la SAR et que le prix de clôture est inférieur à l’EMA rapide.
  2. Filtre à moteur: Utilisez un filtre RSI pour filtrer les signaux, demandez un RSI de plus de 60 pour les heures de travail et un RSI de moins de 40 pour les heures de travail, assurez-vous que les transactions se déroulent dans la direction la plus dynamique.
  3. Vérification de la force de la tendancePour vérifier la force de la tendance à l’aide de l’indicateur ADX (<30), évitez de négocier dans un marché en crise.
  4. Gestion des risquesLa taille de la position est calculée sur la base de l’ATR pour le stop-loss dynamique ((1,5 fois l’ATR) et le stop-loss ((2 fois l’ATR) et sur la base d’un pourcentage fixe des fonds du compte ((2% par défaut)).

Avantages stratégiques

  1. Vérification multifactorielle: amélioration significative de la qualité du signal grâce à la vérification multiple des quatre indicateurs SAR, EMA, RSI et ADX.
  2. Gestion dynamique des risquesL’arrêt-perte basé sur l’ATR s’adapte automatiquement aux fluctuations du marché.
  3. Filtrage de la force de la tendanceLe cours de l’ADX a été affecté par une fausse rupture de filtrage, et les transactions ont été effectuées uniquement sur les marchés à forte tendance.
  4. Calcul automatisé des positionsLa gestion de position basée sur le risque assure la cohérence des risques de chaque transaction.
  5. Une réponse visuelle claireLes signaux de transaction sont visualisés à l’aide d’un fond coloré.

Risque stratégique

  1. Risque de retardLes SAR et les EMA sont des indicateurs de suivi de la tendance et peuvent être retardés si la tendance est inversée.
  2. Sensitivité des paramètresLes paramètres de courte période de la longueur RSI (6) et de la période EMA (2) peuvent entraîner une survente des transactions.
  3. Risque de dépréciation de l’ADX: Thresholds fixes de l’ADX (<30) qui peuvent être instables dans différentes conditions de marché.
  4. La volatilité augmente le risqueLa fixation d’ATR peut entraîner une suraménagement de l’arrêt pendant les fluctuations extrêmes.
    Une solution
  • Optimisation dynamique des seuils ADX et des paramètres RSI
  • Ajout de filtres fluctuants (comme les indices VIX)
  • La gestion progressive des positions est utilisée pour remplacer les pourcentages fixes.

Direction d’optimisation

  1. Dynamique des paramètres: modifier les paramètres fixes en paramètres dynamiques basés sur l’état du marché, par exemple en utilisant la volatilité pour ajuster le multiplicateur ATR.
  2. Intégration de l’apprentissage automatique: Optimisation de la combinaison de paramètres de l’indicateur avec des modèles de formation avec des données historiques.
  3. Confirmation de plusieurs périodesLes tendances à l’adhésion à des délais plus longs sont confirmées.
  4. Filtre de fréquence anormaleLe blogueur a ajouté: “Nous ne sommes pas en mesure d’expliquer comment les transactions sont effectuées.
  5. Stratégie de sortie combinéeLe système de paiement est basé sur un système de paiement par carte de crédit, un système de paiement par carte de débit et un système de paiement par carte de crédit.

Résumer

Cette stratégie de tendance multifonctionnelle se démarque dans les marchés tendances par la synergie des indicateurs et la gestion rigoureuse des risques. Son avantage principal réside dans la vérification multiple des signaux et le contrôle dynamique des risques, mais il convient de prêter attention à la sensibilité des paramètres et au risque de retard. L’optimisation future devrait se concentrer sur le mécanisme d’adaptation des paramètres et l’identification de l’état du marché pour améliorer la solidité de la stratégie.

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

//@version=5
strategy("🚀 Estrategia SAR+EMA+RSI con Alertas", overlay=true)

// ———— PARÁMETROS ————
riskPerTrade = input.float(2.0, title="Riesgo por operación (%)", minval=0.5, step=0.5)
sarStart = input.float(0.02, title="SAR Start", minval=0.001)
sarIncrement = input.float(0.02, title="SAR Increment", minval=0.001)
sarMax = input.float(0.2, title="SAR Max", minval=0.1)
rsiLength = input.int(6, title="RSI Length", minval=3, maxval=10)
emaFastLength = input.int(2, title="EMA Rápida", minval=1, maxval=5)
adxThreshold = input.int(30, title="ADX mínimo", minval=20, maxval=50)
atrMultiplier = input.float(1.5, title="Multiplicador ATR para SL", step=0.1)

// ———— INDICADORES ————
sar = ta.sar(sarStart, sarIncrement, sarMax)
emaFast = ta.ema(close, emaFastLength)
rsi = ta.rsi(close, rsiLength)
[diplus, diminus, adx] = ta.dmi(14, 14) // Ahora pasamos length y adxSmoothing

atr = ta.atr(14)

// ———— CONDICIONES ————
longCondition = ta.crossover(close, sar) and close > emaFast and rsi > 60 and adx >= adxThreshold
shortCondition = ta.crossunder(close, sar) and close < emaFast and rsi < 40 and adx >= adxThreshold

// ———— FUNCIÓN MENSAJE ALERTA ————
getAlertMessage(isLong) =>
    slPoints = atr * atrMultiplier
    message = (isLong ? "🚀 COMPRA " : "🔻 VENTA ") + syminfo.ticker + "\n" +
      "Precio: " + str.tostring(math.round(close, 2)) + "\n" +
      "SL: " + str.tostring(math.round(isLong ? (close - slPoints) : (close + slPoints), 2)) + "\n" +
      "TP: " + str.tostring(math.round(isLong ? (close + slPoints * 2) : (close - slPoints * 2), 2)) + "\n" +
      "RSI: " + str.tostring(math.round(rsi, 1)) + "\n" +
      "ADX: " + str.tostring(math.round(adx, 1))
    message

// ———— ALERTAS ————
if (longCondition)
    alert(getAlertMessage(true), alert.freq_once_per_bar_close)

if (shortCondition)
    alert(getAlertMessage(false), alert.freq_once_per_bar_close)



if (longCondition)
    alert(getAlertMessage(true), alert.freq_once_per_bar_close)

if (shortCondition)
    alert(getAlertMessage(false), alert.freq_once_per_bar_close)

// ———— ENTRADAS DE ESTRATEGIA ————
riskAmount = strategy.equity * (riskPerTrade / 100)
slPoints = atr * atrMultiplier
qty = riskAmount / close

if (longCondition)
    strategy.entry("Long", strategy.long, qty=qty)
    strategy.exit("Exit Long", "Long", stop=close - slPoints, limit=close + slPoints * 2)

if (shortCondition)
    strategy.entry("Short", strategy.short, qty=qty)
    strategy.exit("Exit Short", "Short", stop=close + slPoints, limit=close - slPoints * 2)

// ———— VISUALIZACIÓN ————
plot(sar, title="SAR", color=color.red, style=plot.style_cross)
plot(emaFast, title="EMA Rápida", color=color.blue)
bgcolor(longCondition ? color.new(color.green, 90) : shortCondition ? color.new(color.red, 90) : na)