Stratégie de trading RSI Trend Momentum combinée à des moyennes mobiles doubles et à une confirmation de volume

RSI SMA
Date de création: 2024-11-28 17:02:32 Dernière modification: 2024-11-28 17:02:32
Copier: 0 Nombre de clics: 495
1
Suivre
1617
Abonnés

Stratégie de trading RSI Trend Momentum combinée à des moyennes mobiles doubles et à une confirmation de volume

Aperçu

Cette stratégie est une stratégie de suivi de la tendance basée sur les signaux de survente RSI, les tendances de la moyenne à court terme et la confirmation du volume de transactions. Elle établit des positions à plusieurs têtes principalement en identifiant des occasions de survente à court terme dans les tendances à la hausse à long terme, tout en utilisant l’amplification de la transaction pour confirmer l’efficacité des signaux de négociation. La stratégie utilise l’indicateur RSI à 10 cycles, le système de deux lignes de 250 et 500 cycles et la moyenne de transactions à 20 cycles comme composition d’indicateurs de base.

Principe de stratégie

La logique centrale de la stratégie est basée sur la synergie de trois conditions clés:

  1. Signal de survente du RSI ((RSI <=30): utilisé pour capturer les occasions de rebond du marché
  2. Les deux lignes équivalentes sont alignées à plusieurs têtes ((SMA250>SMA500): la tendance à la hausse à long terme est confirmée
  3. Confirmation de la transaction ((La transaction actuelle est supérieure à la moyenne des transactions sur 20 cycles)*2.5): vérifier l’efficacité des variations de prix

Lorsque les trois conditions ci-dessus sont réunies, la stratégie entre dans une position à plusieurs têtes. Le signal de placement est déclenché par une ligne moyenne à court terme traversant la ligne moyenne à long terme (la fourche morte). De plus, la stratégie définit un stop loss de 5% pour contrôler le risque.

Avantages stratégiques

  1. Le mécanisme de confirmation multiple réduit les faux signaux: la combinaison du RSI, de la ligne moyenne et du filtre triple du volume de transaction améliore considérablement la fiabilité des signaux de négociation
  2. Caractéristiques de suivi de la tendance: évaluer les grandes tendances à l’aide des moyennes à long terme et éviter les transactions à l’envers
  3. Contrôle des risques: définir des points de perte fixes pour contrôler efficacement le risque d’une seule transaction
  4. Adaptabilité: les paramètres de la stratégie peuvent être ajustés de manière flexible en fonction des caractéristiques du marché
  5. Une sélection rigoureuse des opportunités: un filtrage multiconditionnel garantissant l’entrée au meilleur moment

Risque stratégique

  1. Risque de retard: la moyenne périodique longue présente un retard significatif et risque de rater une tendance initiale
  2. Risque d’excès: les conditions strictes et multiples peuvent laisser passer des opportunités de trading efficaces
  3. Risque de choc: Faux signaux peuvent être fréquemment déclenchés lors de chocs horizontaux
  4. Risque de mise en stop-loss: le stop-loss à taux fixe peut ne pas être adapté à toutes les conditions du marché
  5. Risque d’optimisation des paramètres : une optimisation excessive peut entraîner de mauvaises performances de la stratégie dans le trading réel.

Orientation de l’optimisation de la stratégie

  1. Optimisation de l’arrêt dynamique: un mécanisme d’arrêt dynamique basé sur l’ATR ou la volatilité peut être envisagé
  2. La quantification de la force de la tendance: l’introduction d’indicateurs de force de tendance tels que l’ADX, améliore l’exactitude des jugements de tendance
  3. Optimisation de la gestion des positions: ajustement dynamique du ratio de détention en fonction de l’intensité des signaux et de la volatilité du marché
  4. Amélioration des mécanismes de sortie: des mécanismes de sortie flexibles tels que l’augmentation des objectifs de profit et la suspension des pertes
  5. Filtre temporel: ajouter un filtre temporel pour éviter les périodes de trading inefficaces

Résumer

Il s’agit d’une stratégie de suivi des tendances conçue de manière rationnelle et logiquement rigoureuse, qui équilibre efficacement les gains et les risques grâce à l’utilisation combinée de multiples indicateurs techniques. Le principal avantage de la stratégie réside dans son mécanisme de reconnaissance des signaux et son système de contrôle des risques, mais elle est également confrontée à des défis tels que la surcharge excessive et le retard.

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


// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) https://creativecommons.org/licenses/by-nc-sa/4.0/
// © wielkieef

//@version=5
strategy(title=' Rsi Long-Term Strategy [15min]', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

// Rsi
rsi_lenght = input.int(10, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)
rsi_overs = rsi_value <= 30
rsi_overb = rsi_value >= 70

// Volume
vol_sma_length = input.int(20, title='Volume lenght  ', minval=1)
Volume_condt = volume > ta.sma(volume, vol_sma_length) * 2.5

//SMA1
lengthSMA1 = input(250, title="Lenght SMA 1")
SMA1 = ta.sma(close, lengthSMA1)
//plot(SMA1, color=color.rgb(245, 108, 3), linewidth=1, title="SMA250")

//SMA2
lengthSMA2 = input(500, title="Lenght SMA 2")
SMA2 = ta.sma(close, lengthSMA2)
//plot(SMA2, color=#9803f5, linewidth=1, title="SMA500")


//Entry Logic
Long_cond = (rsi_overs and SMA1 > SMA2 and Volume_condt )  

if Long_cond
    strategy.entry('Long', strategy.long)

//Close Logic
Long_close = ta.crossunder(SMA1,SMA2)

if Long_close
    strategy.close("Long")

//Bar colors
Bar_color = Volume_condt ? #fc9802 : SMA1 > SMA2 ? color.rgb(84, 252, 0) : SMA1 < SMA2 ? color.maroon : color.gray
barcolor(color=Bar_color)

// Rsi value Plotshapes
plotshape(rsi_value < 30 and SMA1 > SMA2 and Volume_condt, title='Buy', color=color.new(color.green, 0), style=shape.circle, location=location.belowbar, size=size.tiny, textcolor=color.new(color.black, 0))
plotshape(rsi_value > 70 and SMA1 < SMA2 and Volume_condt, title='Sell', color=color.new(color.red, 0), style=shape.circle, location=location.abovebar, size=size.tiny, textcolor=color.new(color.black, 0))
plotshape(ta.crossunder(SMA1,SMA2) , title='DEATH CROSS', color=#000000, style=shape.xcross, location=location.abovebar, size=size.small, textcolor=color.new(color.black, 0))

//Stop-Loss// this code is from author RafaelZioni, modified by wielkieef
pera(pcnt) =>
    strategy.position_size != 0 ? math.round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss = input.float(title=' stop loss', defval=5.0, minval=0.5)
los = pera(stoploss)
strategy.exit('SL', loss=los)




// by wielkieef