Stratégie de tendance croisée de la moyenne mobile du RSI

Auteur:ChaoZhang est là., Date: 2023-11-28 17h03:56
Les étiquettes:

img

Résumé

La RSI Moving Average Crossover Trend Strategy est une stratégie qui utilise les signaux de croisement de la moyenne mobile de l'indicateur RSI pour déterminer la tendance et émettre des signaux de trading.

La logique de la stratégie

L'indicateur de base de cette stratégie est le RSI. Il calcule à la fois l'EMA et la SMA du RSI. Les signaux d'achat ne sont émis que lorsque l'EMA du RSI est au-dessus de la SMA tandis que le prix est au-dessus de l'EMA. Les signaux de vente sont émis lorsque l'EMA du RSI tombe en dessous de la SMA pour suivre la tendance.

L'indicateur RSI peut refléter efficacement les conditions de surachat et de survente sur le marché. Une rupture au-dessus de 70 sur l'indicateur RSI est considérée comme une surachat tandis qu'une rupture en dessous de 30 est une survente. Cette stratégie utilise l'EMA et la SMA pour découvrir les tendances et les points tournants de l'indicateur RSI. L'EMA réagit plus rapidement aux changements de prix récents tandis que la SMA repose davantage sur des données plus anciennes.

Lorsque le RSI EMA commence à augmenter, il signale une stabilisation du marché. Le SMA vérifie ensuite la direction. Lorsque le SMA commence également à augmenter, il confirme que le RSI est en hausse. La stratégie émettra maintenant un signal d'achat étant donné que le prix est au-dessus de la EMA pour suivre la tendance.

Analyse des avantages

Il s'agit d'une stratégie de suivi de tendance, capable de saisir efficacement les opportunités directionnelles à moyen et long terme.

La stratégie intègre également l'EMA des prix pour garantir l'achat uniquement dans une tendance à la hausse des prix, éviter le risque de marchés à fourchette et améliorer la rentabilité.

Analyse des risques

La stratégie repose principalement sur l'indicateur RSI. Les faux signaux RSI conduiront à de faux signaux de stratégie. En outre, le RSI est plus approprié pour identifier les niveaux de surachat / survente avec un certain retard dans la capture des tendances à moyen et long terme.

Il peut également y avoir un certain décalage temporel, en particulier lorsque l'EMA et la SMA du RSI sont plus liées à la plage.

Directions d'optimisation

  1. L'indicateur de risque peut être optimisé en sélectionnant des paramètres plus appropriés pour améliorer l'efficacité.

  2. La logique de stop loss peut être ajoutée aux positions de sortie après que les pertes aient atteint certains niveaux pour gérer efficacement le risque.

  3. Les paramètres peuvent être testés et optimisés sur différentes périodes afin que la stratégie puisse fonctionner de manière stable sur plus de produits et de périodes.

Résumé

La RSI Moving Average Crossover Trend Strategy est une stratégie simple de suivi de tendance utilisant RSI pour déterminer la direction de la tendance et les croisements pour la vérification. Elle intègre une EMA de prix pour acheter sur les tendances haussières.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Created by Sv3nla 5-Jan-2021
strategy(title="Sv3nla RSI EMA SMA Strat", shorttitle="Sv3nla RSI EMA SMA Strat", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// === BACKTEST RANGE ===
FromMonth = input(defval = 5, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2015, title = "From Year", minval = 2015)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 2022) 
// syminfo.mintick = 0.01$ for BTCUSDT

testPeriod() => true

//INPUTS
rsilen = input(defval = 16, minval=1, title="RSILength")
RSIemaLen = input(defval = 12, minval=1, title="RSI EMA Length")
RSIsmaLen2 = input(defval = 29, minval=1, title="RSI SMA Length2")
length = input(defval = 8, minval=1, title="EMA price Length")

// RSI
RSIsrc = close
RSIup = rma(max(change(RSIsrc), 0), rsilen)
RSIdown = rma(-min(change(RSIsrc), 0), rsilen)
rsi = RSIdown == 0 ? 100 : RSIup == 0 ? 0 : 100 - 100 / (1 + RSIup / RSIdown)
emavalue=ema(rsi,RSIemaLen)
smavalue=sma(rsi,RSIsmaLen2)

//EMA
ema=ema(close,length)

//PLOT
plot(ema(rsi, RSIemaLen), color=color.yellow, linewidth=2, title="EMA", transp=0)
plot(sma(rsi, RSIsmaLen2), color=color.aqua, linewidth=2, title="SMA", transp=0)

//ORDERS
if (testPeriod())
    strategy.entry("long",strategy.long, comment="RSIEMA", when=(emavalue > smavalue and close>ema))
    strategy.close(id="long", when=(emavalue < smavalue))

// Colour background when in a trade and 50 horizontal line
backgroundColour = (strategy.position_size > 0) ? color.green : na    
bgcolor(color=backgroundColour, transp=85)
hline(50, color=color.yellow)

Plus de