Stratégie de trading multi-indicateurs adaptative Vishal

MACD SAR ST EMA ATR TF
Date de création: 2025-03-28 17:17:56 Dernière modification: 2025-03-28 17:17:56
Copier: 0 Nombre de clics: 407
2
Suivre
319
Abonnés

Stratégie de trading multi-indicateurs adaptative Vishal Stratégie de trading multi-indicateurs adaptative Vishal

Aperçu

Cette stratégie est une méthode de trading quantitative et globale qui identifie les tendances du marché et les signaux de trading en intégrant plusieurs indicateurs techniques (MACD, Supertrend et Parabolic SAR). La stratégie est conçue pour fournir un cadre de décision de trading flexible et rigoureux qui peut s’adapter à différents environnements de marché.

Principe de stratégie

La stratégie est basée sur une combinaison dynamique de trois indicateurs techniques clés:

  1. Indicateur MACD: évaluation de la dynamique et de la direction des prix
  2. Indicateur de Supertrend: détermine la tendance dominante du marché (à plusieurs têtes ou à vide)
  3. Parabolic SAR: fournit des signaux d’entrée et de sortie précis

La stratégie utilise la logique suivante pour prendre des décisions commerciales:

  • Les conditions d’entrée pour les positions longues:
    • La ligne MACD est supérieure à la ligne du signal.
    • La Supertrend apparaît en vert
    • Le prix de clôture est supérieur à celui de Parabolic SAR
  • Conditions d’entrée pour les magasins vides:
    • La ligne MACD est en dessous de la ligne de signal.
    • La Supertrend apparaît en rouge (en tête)
    • Le prix de clôture est inférieur à Parabolic SAR

Avantages stratégiques

  1. Vérification intégrée multi-indicateurs: réduire le risque de faux signaux
  2. Un déclencheur de signal flexible: pas de séquence de déclenchement stricte
  3. Stratégie de trading en position totale: maximiser le potentiel de gain de chaque transaction
  4. Logique de transaction symétrique: une performance cohérente dans les marchés à plusieurs têtes et à vide
  5. Mécanisme de sortie dynamique: confirmation par deux lignes K consécutives pour éviter une sortie prématurée

Risque stratégique

  1. Risque de retard dans les indicateurs: les indicateurs techniques sont basés sur des données historiques et peuvent être retardés
  2. Risque de transaction en position pleine: le stop loss non défini peut entraîner une plus grande volatilité des fonds
  3. Risque de forte volatilité des marchés: un environnement de marché complexe pourrait affecter la performance stratégique
  4. Sensitivité des paramètres: le choix des paramètres de l’indicateur affecte directement l’efficacité de la stratégie

Orientation de l’optimisation de la stratégie

  1. Introduction de la gestion dynamique des positions: la taille des positions est ajustée en fonction de la volatilité du marché
  2. Augmentation des mécanismes de prévention des pertes: réduction des pertes maximales pour une seule transaction
  3. Optimiser les paramètres de l’indicateur: trouver la meilleure combinaison de paramètres par rétro-mesure
  4. Introduction de conditions de filtrage supplémentaires, telles que le volume des transactions et les indicateurs de volatilité
  5. Augmentation de la vérification multi-temps: amélioration de la fiabilité du signal

Résumer

La stratégie de négociation multi-indicateurs adaptative de Vishal est une méthode de négociation quantitative innovante qui offre un cadre de décision de négociation complet et flexible grâce à la synergie entre MACD, Supertrend et Parabolic SAR. Malgré certains risques, sa validation multi-indicateurs et sa logique de négociation symétrique offrent aux investisseurs un modèle de négociation qui mérite d’être étudié en profondeur.

Code source de la stratégie
/*backtest
start: 2025-01-01 00:00:00
end: 2025-03-27 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=6
strategy("Vishal Strategy", overlay=true, margin_long=100, margin_short=100, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// **MACD Inputs & Calculation**
fast_length  = input.int(13, title="MACD Fast Length")
slow_length  = input.int(27, title="MACD Slow Length")
signal_length = input.int(9, title="MACD Signal Smoothing")

fast_ma  = ta.ema(close, fast_length)
slow_ma  = ta.ema(close, slow_length)
macd     = fast_ma - slow_ma
signal   = ta.ema(macd, signal_length)
hist     = macd - signal

// **Supertrend Inputs & Calculation**
atrPeriod = input.int(11,    "ATR Length", minval = 1)
factor    = input.float(3.0, "Factor",     minval = 0.01, step = 0.01)
[supertrend, direction] = ta.supertrend(factor, atrPeriod)
bullTrend  = direction < 0   // Uptrend Condition
bearTrend  = direction > 0   // Downtrend Condition

// **Parabolic SAR Inputs & Calculation**
sarStep = input.float(0.02, "Parabolic SAR Step")
sarMax  = input.float(0.2, "Parabolic SAR Max")
sar = ta.sar(sarStep, sarStep, sarMax)

// **Trade Entry Conditions**
macdBullish = macd > signal // MACD in Bullish Mode
macdBearish = macd < signal // MACD in Bearish Mode
priceAboveSAR = close > sar // Price above SAR (Bullish)
priceBelowSAR = close < sar // Price below SAR (Bearish)

// **Boolean Flags to Track Conditions Being Met**
var bool macdConditionMet = false
var bool sarConditionMet = false
var bool trendConditionMet = false

// **Track if Each Condition is Met in Any Order**
if (macdBullish)
    macdConditionMet := true
if (macdBearish)
    macdConditionMet := false

if (priceAboveSAR)
    sarConditionMet := true
if (priceBelowSAR)
    sarConditionMet := false

if (bullTrend)
    trendConditionMet := true
if (bearTrend)
    trendConditionMet := false

// **Final Long Entry Signal (Triggers When All Three Flags Are True)**
longSignal = macdConditionMet and sarConditionMet and trendConditionMet

// **Final Short Entry Signal (Triggers When All Three Flags Are False)**
shortSignal = not macdConditionMet and not sarConditionMet and not trendConditionMet

// **Execute Full Equity Trades**
if (longSignal)
    strategy.entry("Long", strategy.long)

if (shortSignal)
    strategy.entry("Short", strategy.short)

// **Exit Logic - Requires 2 Consecutive Candle Closes Below/Above SAR**
var int belowSARCount = 0
var int aboveSARCount = 0

if (strategy.position_size > 0)  // Long position is active
    belowSARCount := close < sar ? belowSARCount + 1 : 0
    if (belowSARCount >= 1)
        strategy.close("Long")

if (strategy.position_size < 0)  // Short position is active
    aboveSARCount := close > sar ? aboveSARCount + 1 : 0
    if (aboveSARCount >= 1)
        strategy.close("Short")

// **Plot Indicators**
plot(supertrend, title="Supertrend", color=bullTrend ? color.green : color.red, linewidth=2, style=plot.style_linebr)
plot(sar, title="Parabolic SAR", color=color.blue, style=plot.style_cross, linewidth=2)
plot(macd, title="MACD Line", color=color.blue, linewidth=2)
plot(signal, title="MACD Signal", color=color.orange, linewidth=2)
plot(hist, title="MACD Histogram", style=plot.style_columns, color=hist >= 0 ? color.green : color.red)