Stratégie de trading quantitative de suivi des tendances collaboratives RSI et AO

RSI AO TP SL
Date de création: 2024-11-12 16:05:28 Dernière modification: 2024-11-12 16:05:28
Copier: 1 Nombre de clics: 495
1
Suivre
1617
Abonnés

Stratégie de trading quantitative de suivi des tendances collaboratives RSI et AO

Aperçu

La stratégie est une stratégie de trading quantifiée basée sur la synergie entre l’indicateur de force relative (RSI) et l’oscillateur de dynamique (AO). La stratégie identifie les opportunités potentielles de survente principalement en capturant le signal de couplage entre le RSI qui franchit la ligne horizontale 50 et l’AO qui se trouve dans la zone négative. La stratégie utilise un mécanisme de stop-loss pourcentage pour gérer le risque, en utilisant par défaut 10% des fonds du compte pour la négociation.

Principe de stratégie

La logique centrale de la stratégie est basée sur la synergie de deux indicateurs techniques:

  1. Indicateur RSI: l’indicateur RSI de 14 cycles est utilisé pour surveiller la dynamique des prix et est considéré comme une force de hausse lorsque le RSI franchit l’axe central de 50.
  2. Indicateur d’AO: Calcule le mouvement des prix en comparant les moyennes mobiles de 5 cycles et de 34 cycles, indiquant que le marché est en zone de survente lorsque l’AO est négatif.
  3. Conditions d’entrée: ouvrir une position plus élevée lorsque le RSI dépasse 50 et que l’AO est négatif, ce qui signifie capturer un signal de revers dans la zone de survente.
  4. Conditions de sortie: un arrêt de 2% et un arrêt de perte de 1% sont utilisés pour s’assurer que le rapport bénéfice-risque de chaque transaction est raisonnable.

Avantages stratégiques

  1. Haute fiabilité du signal: la double confirmation du RSI et de l’AO améliore la fiabilité du signal de négociation.
  2. Le contrôle des risques est parfait: un stop loss à pourcentage fixe est mis en place pour contrôler efficacement le risque de chaque transaction.
  3. La science de la gestion des fonds: utilisez un pourcentage fixe des fonds du compte pour effectuer des transactions, en évitant un effet de levier excessif.
  4. La logique est claire et simple: les règles de stratégie sont intuitives et faciles à comprendre et à appliquer.
  5. L’effet de visualisation est bon: les signaux sont clairement marqués sur le graphique pour faciliter l’identification et la confirmation des traders.

Risque stratégique

  1. Risque de fausse rupture: Le RSI dépassant 50 est susceptible de fausse rupture et doit être confirmé avec d’autres indicateurs techniques.
  2. Trop faible: le stop loss de 1% est trop faible et peut être affecté par les fluctuations du marché.
  3. La stratégie consiste à ne faire que de la survente et à ne pas laisser passer l’occasion d’un marché à découvert.
  4. Effets de dérapage: le risque de dérapage peut être plus élevé en cas de forte volatilité du marché.
  5. Sensitivité des paramètres: l’efficacité de la stratégie est fortement influencée par les paramètres RSI et AO.

Orientation de l’optimisation de la stratégie

  1. Filtrage du signal: il est recommandé d’ajouter un mécanisme de confirmation de transaction pour améliorer la fiabilité du signal.
  2. Stop-loss dynamique: le stop-loss fixe peut être remplacé par un stop-loss de suivi pour mieux protéger les bénéfices.
  3. Optimisation des paramètres: il est recommandé d’optimiser les cycles RSI et les paramètres AO en fonction de leur historique.
  4. Le filtrage du marché: ajout d’un jugement sur la tendance du marché, qui ne s’ouvre que lorsque la tendance est à la hausse.
  5. Gestion des positions: le ratio d’ouverture peut être ajusté en fonction de l’intensité du signal.

Résumer

Il s’agit d’une stratégie de suivi de tendance combinant les indicateurs RSI et AO pour effectuer plusieurs transactions en capturant les signaux de revers des zones de survente. La stratégie est conçue de manière rationnelle, le risque est en place, mais il reste de la place pour l’optimisation.

Code source de la stratégie
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="🐂 BUY Only - RSI Crossing 50 + AO Negative", shorttitle="🐂 AO<0 RSI+50 Strategy", overlay=true)

// -----------------------------
// --- User Inputs ---
// -----------------------------

// RSI Settings
rsiPeriod = input.int(title="RSI Period", defval=14, minval=1)

// AO Settings
aoShortPeriod = input.int(title="AO Short Period", defval=5, minval=1)
aoLongPeriod = input.int(title="AO Long Period", defval=34, minval=1)

// Strategy Settings
takeProfitPerc = input.float(title="Take Profit (%)", defval=2.0, minval=0.0, step=0.1)
stopLossPerc = input.float(title="Stop Loss (%)", defval=1.0, minval=0.0, step=0.1)

// -----------------------------
// --- Awesome Oscillator (AO) Calculation ---
// -----------------------------

// Calculate the Awesome Oscillator
ao = ta.sma(hl2, aoShortPeriod) - ta.sma(hl2, aoLongPeriod)

// Detect AO Crossing Zero
aoCrossOverZero = ta.crossover(ao, 0)
aoCrossUnderZero = ta.crossunder(ao, 0)

// -----------------------------
// --- Relative Strength Index (RSI) Calculation ---
// -----------------------------

// Calculate RSI
rsiValue = ta.rsi(close, rsiPeriod)

// Detect RSI Crossing 50
rsiCrossOver50 = ta.crossover(rsiValue, 50)
rsiCrossUnder50 = ta.crossunder(rsiValue, 50)

// -----------------------------
// --- Plotting Arrows and Labels ---
// -----------------------------

// Plot AO Cross Over Arrow (AO+)
plotshape(series=aoCrossOverZero,
          location=location.belowbar,
          color=color.green,
          style=shape.labelup,
          title="AO Crosses Above Zero",
          text="AO+",
          textcolor=color.white,
          size=size.small)

// Plot AO Cross Under Arrow (AO-)
plotshape(series=aoCrossUnderZero,
          location=location.abovebar,
          color=color.red,
          style=shape.labeldown,
          title="AO Crosses Below Zero",
          text="AO-",
          textcolor=color.white,
          size=size.small)

// Plot RSI Cross Over Arrow (RSI Up)
plotshape(series=rsiCrossOver50,
          location=location.belowbar,
          color=color.blue,
          style=shape.labelup,
          title="RSI Crosses Above 50",
          text="RSI Up",
          textcolor=color.white,
          size=size.small)

// Plot RSI Cross Under Arrow (RSI Down)
plotshape(series=rsiCrossUnder50,
          location=location.abovebar,
          color=color.orange,
          style=shape.labeldown,
          title="RSI Crosses Below 50",
          text="RSI Down",
          textcolor=color.white,
          size=size.small)

// -----------------------------
// --- Buy Signal Condition ---
// -----------------------------

// Define Buy Signal: AO is negative and previous bar's RSI > 50
buySignal = (ao < 0) and (rsiValue[1] > 50)

// Plot Buy Signal
plotshape(series=buySignal,
          location=location.belowbar,
          color=color.lime,
          style=shape.triangleup,
          title="Buy Signal",
          text="BUY",
          textcolor=color.black,
          size=size.small)

// -----------------------------
// --- Strategy Execution ---
// -----------------------------

// Entry Condition
if buySignal
    strategy.entry("Long", strategy.long)

// Exit Conditions
// Calculate Stop Loss and Take Profit Prices
if strategy.position_size > 0
    // Entry price
    entryPrice = strategy.position_avg_price

    // Stop Loss and Take Profit Levels
    stopLevel = entryPrice * (1 - stopLossPerc / 100)
    takeProfitLevel = entryPrice * (1 + takeProfitPerc / 100)

    // Submit Stop Loss and Take Profit Orders
    strategy.exit("Exit Long", from_entry="Long", stop=stopLevel, limit=takeProfitLevel)