Stratégie RSI de suivi de tendance moyenne mobile


Date de création: 2023-11-23 17:13:06 Dernière modification: 2023-11-23 17:13:06
Copier: 0 Nombre de clics: 626
1
Suivre
1617
Abonnés

Stratégie RSI de suivi de tendance moyenne mobile

Aperçu

La stratégie RSI de suivi de tendance est une stratégie de trading automatique d’actions qui utilise à la fois l’analyse de la tendance et l’indicateur de survente de l’indicateur de survente. Cette stratégie utilise une moyenne mobile simple pour déterminer la direction de la tendance du marché et, combinée à un indice relativement faible (RSI) pour émettre un signal de négociation, permet de juger et de suivre la tendance.

Principe de stratégie

La stratégie se compose de trois volets principaux:

  1. Détermination de la tendance: calculer la moyenne mobile simple de 200 jours pour la tendance à long terme, calculer les moyennes mobiles simples de 30 et 50 jours pour la tendance à court terme. Lorsque la moyenne mobile à court terme est traversée par la moyenne mobile à long terme comme un signal positif et une baisse comme un signal négatif, pour juger de la tendance à court terme du marché.

  2. Le RSI supérieur à 80 est la zone de survente et inférieur à 20 est la zone de survente. Un signal de transaction est émis lorsque l’indicateur RSI baisse de la zone de survente ou augmente de la zone de survente.

  3. Entrée et sortie: Lorsque le signal de survente est jugé, l’entrée est plus / vide si la direction du signal de jugement de la tendance est la même. Lorsque la courte et la longue moyenne mobile se croisent en or, le jugement de la tendance est inversé et la position est libérée.

Grâce à cette stratégie, il est possible d’entrer en bourse en temps opportun en cas de revirement du cours des actions, tout en filtrant une partie du bruit des transactions en fonction de la tendance, et il est relativement bon en matière de contrôle des retraits.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. Il est possible d’identifier les points de basculement, en combinant les indicateurs de tendance et de survente, et de filtrer le bruit.
  2. Il est plus exact de juger en tenant compte de l’orientation des tendances sur les deux périodes.
  3. L’utilisation d’une moyenne mobile comme méthode d’arrêt permet de définir un point d’arrêt en fonction de l’ampleur des fluctuations du marché.
  4. Les conditions d’entrée sont très strictes, ce qui permet d’éviter les faux sauts.

Les risques et les solutions

Cette stratégie comporte aussi des risques:

  1. La solution est d’ajouter plus de conditions de filtrage pour éviter les transactions inutiles.
  2. Il existe un certain risque de décalage temporel. La solution consiste à raccourcir de manière appropriée le paramètre de périodicité de la moyenne mobile.
  3. L’impact des signaux de l’indicateur RSI est influencé par les actions et les marchés. La solution consiste à combiner plus de facteurs, tels que la forme de la ligne K, pour juger de l’impact.

Direction d’optimisation

La stratégie peut également être optimisée dans les domaines suivants:

  1. Ajout d’autres conditions de filtrage, telles que la quantité d’intersection, la forme de la ligne K, etc., pour améliorer encore l’efficacité du signal.
  2. Optimiser la périodicité des paramètres des moyennes mobiles et du RSI pour les rendre plus conformes aux caractéristiques des différentes actions.
  3. Création d’une moyenne mobile dynamique qui ajuste automatiquement les paramètres en fonction de la volatilité du marché et des préférences de risque.
  4. L’utilisation de technologies plus avancées telles que l’apprentissage automatique pour évaluer les tendances du marché et améliorer l’exactitude des jugements.

Résumer

La stratégie de suivi de tendance des moyennes mobiles RSI est une stratégie très pratique dans l’ensemble, mais combinée à l’analyse de la tendance et à l’indicateur de survente et de survente, elle filtre dans une certaine mesure le bruit du marché et rend les signaux de négociation plus précis et plus efficaces. En optimisant continuellement les moyens et les paramètres, la stratégie peut devenir un système de trading à long terme stable et rentable.

Code source de la stratégie
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mattehalen

// INPUT per TIMEFRAME
// 5min     = Legnth = 9, Source = ohlc4,MaxLoss = 1000 TrendMA = 200, ShortMA = 4, LongMA = 10
// 30min    = Legnth = 7, Source = ohlc4,MaxLoss = 1000 TrendMA = 200, ShortMA = 10, LongMA = 20

strategy("Mathias & Christer Timeframe RSI", shorttitle="M&C_RSI",overlay=true, process_orders_on_close = true, default_qty_type =  strategy.percent_of_equity, default_qty_value = 100)
len = input(9, title="Length", type=input.integer)
src = input(ohlc4, title="Source", type=input.source)
//show4h = input(true, title="show 4h", type=input.bool)
maxLoss = input(3000)

rsiCurrent = rsi(src, len)
//rsi4h = security(syminfo.ticker, "240", rsi(src, len))
rsi4h   = rsi(src, len)

//--------------------------------------------------
//MA
trendMAInput = input(200, title="trendMA", type=input.integer)
shortMAInput = input(30, title="shortMA", type=input.integer)
longMAInput = input(50, title="longMA", type=input.integer)

trendMA = ema(close,trendMAInput)
shortMA = ema(close,shortMAInput)
longMA  = ema(close,longMAInput)
plot(trendMA, color=color.black, linewidth=5)
plot(shortMA, color=color.red, linewidth=2)
plot(longMA, color=color.green, linewidth=2)
bgcolor(crossunder(shortMA,longMA) ? color.black : na, transp=10)

//--------------------------------------------------
//RSI
BuySignalBarssince = barssince(rsi4h[1]<rsi4h[0] and rsi4h[1]<20)
BuySignal       = (rsi4h[1]<rsi4h[0] and rsi4h[1]<20 and BuySignalBarssince[1]>10)
BuySignalOut   = crossunder(longMA[1],shortMA[1])
bgcolor(BuySignal ? color.green : na, transp=70)
bgcolor(BuySignalOut ? color.green : na, transp=10)



SellSignalBarssince = barssince(rsi4h[1]>rsi4h[0] and rsi4h[1]>80)
SellSignal      = (rsi4h[1]>rsi4h[0] and rsi4h[1]>80 and SellSignalBarssince[1]>10)
SellSignalOut   = crossunder(shortMA[1],longMA[1])
bgcolor(SellSignal ? color.red : na, transp=70)
bgcolor(SellSignalOut ? color.red : na, transp=10)


if BuySignal
    strategy.close("short", comment = "Exit short")
    strategy.entry("long", true)
    strategy.exit("Max Loss", "long", loss = maxLoss)

if BuySignalOut
    strategy.close("long", comment = "Exit Long")
if SellSignal
    // Enter trade and issue exit order on max loss.
    strategy.close("long", comment = "Exit Long")
    strategy.entry("short", false)
    strategy.exit("Max Loss", "short", loss = maxLoss)
if SellSignalOut
    // Force trade exit.
    strategy.close("short", comment = "Exit short")
    
//--------------------------------------------------
//ATR
MyAtr = atr(10)
AtrFactor = 10
mySLBuy  = close[BuySignalBarssince]
mySLSell = close[SellSignalBarssince]

plotchar(BuySignal, "BuySignal", "⬆", location.belowbar, color.lime,size =size.huge )
plotchar(BuySignalOut, "BuySignalOut", "█", location.belowbar, color.lime,size =size.small)
plotchar(SellSignal, "SellSignal", "⬇", location.abovebar ,color.red,size =size.huge)
plotchar(SellSignalOut, "SellSignalOut", "█", location.abovebar, color.red,size =size.small)