Stratégie de négociation de la fourchette RSI

Auteur:ChaoZhang est là., Date: 2023-11-06 16:12:23 Je suis désolé
Les étiquettes:

img

Résumé

La stratégie de trading de la plage RSI génère des profits en négociant contre la tendance lorsque le RSI atteint des niveaux de surachat ou de survente. Elle est basée sur l'hypothèse que les prix ne tendent pas dans une direction pour toujours mais oscillent d'avant en arrière dans une plage.

La logique de la stratégie

La stratégie calcule l'indicateur RSI pour déterminer si le prix a atteint des niveaux de surachat ou de survente. Plus précisément, la période RSI est définie à 2 barres. La ligne de surachat est de 91 et la ligne de survente est de 11. Un signal court est généré lorsque le RSI franchit le niveau de surachat. Un signal long est généré lorsque le RSI franchit le niveau de survente. La taille de la position est définie à 5% du risque maximum par transaction.

Pour contrôler les risques, un mécanisme de stop loss est mis en œuvre. Si le prix se déplace de 0,5% contre la position longue après avoir ouvert long, la position sera fermée. De même pour la position courte. Cela évite une perte excessive lorsque les tendances de prix sont fortement dans un sens.

En résumé, la logique de base consiste à surveiller l'indice de volatilité pour détecter le surachat/survente, à négocier contre la tendance en fonction des niveaux d'indice de volatilité configurés et à gérer les risques via un stop loss.

Analyse des avantages

  • L'indicateur RSI est un indicateur éprouvé permettant d'identifier les niveaux de surachat/survente.

  • Le trading contre les extrêmes s'inscrit dans l'hypothèse d'une oscillation des prix au lieu d'une tendance à sens unique.

  • Le stop loss contrôle les pertes pour les transactions individuelles.

  • Un cadre de backtesting simple et clair, facile à comprendre et à modifier.

  • Paramètres RSI flexibles et niveau de stop loss adaptés à l'évolution du marché

Analyse des risques

  • L'indicateur RSI est un indicateur suivant la tendance, des pertes continues peuvent survenir au cours d'une tendance persistante au lieu d'un prix lié à la fourchette.

  • Des paramètres RSI incorrects peuvent générer plus de signaux mais avec un taux de gain inférieur.

  • Le stop loss peut être déclenché par de petits mouvements ou provoquer de grosses pertes s'il n'est pas réglé correctement.

  • La stratégie fonctionne mieux sur un marché à fourchette, mais peut être moins performante dans des scénarios de forte tendance.

  • Une position de taille excessive peut accroître les pertes.

Directions d'optimisation

  • Combinez le RSI avec d'autres indicateurs comme le MACD pour améliorer la précision du signal.

  • Recherchez des comportements statistiques RSI avec différents paramètres pour trouver des paramètres optimaux.

  • Test des mécanismes de dimensionnement de la position dynamique lors de contre-tests.

  • Utilisez l'ATR pour définir des niveaux d'arrêt de perte adaptatif.

  • Appliquer l'apprentissage automatique pour découvrir les combinaisons optimales de paramètres.

  • Explorer la combinaison d'autres stratégies d'inversion de la moyenne avec RSI pour construire des systèmes robustes.

Résumé

La stratégie de trading de gamme RSI fait des transactions d'inversion simples basées sur les niveaux de surachat/survente du RSI et gère le risque via le stop loss. Elle fonctionne pour les marchés oscillants liés à la gamme, mais a des limites dans les scénarios de tendance forts.


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

//@version=5
strategy("Simple RSI Strategy", overlay=true)

var rsiLength = input(2, title = "rsi Length")
var float rsiBuyLevel = input(11, title = "What rsi level triggers a long")
var float rsiShortLevel = input(91, title = "What rsi level triggers a short")
var float maxRisk =  input(.05, title="Maximum risk/ trade")
var chartEntryStop = input(.005, title="Max Movment in the opposite direction / trade")
var float longEntryPrice = na
var float shortEntryPrice = na 
rsiValue = ta.rsi(close, rsiLength)

var float maxRiskValue = (strategy.equity * maxRisk) / chartEntryStop
var float maxRsi = 0

//Conditions


// Strategy Execution
if( close <= longEntryPrice-(longEntryPrice*chartEntryStop ))
    strategy.close("Long")

if( close >= shortEntryPrice+(shortEntryPrice*chartEntryStop ))
    strategy.close("Short")

if (rsiValue <= rsiBuyLevel and maxRsi == rsiShortLevel)
    maxRsi := rsiBuyLevel 
    strategy.close("Short")
    strategy.entry("Long", strategy.long)
    longEntryPrice := close
    
   
else if (rsiValue >= rsiShortLevel and maxRsi == rsiBuyLevel)
    maxRsi := rsiShortLevel
    strategy.close("Long")
    strategy.entry("Short", strategy.short)
    shortEntryPrice := close

else if (rsiValue >= rsiShortLevel )
    maxRsi := rsiShortLevel
    strategy.close("Long")

else if (rsiValue <= rsiBuyLevel )
    maxRsi := rsiBuyLevel
    strategy.close("Short")

Plus de