Stratégie d'inversion du RSI à force relative


Date de création: 2023-11-14 16:49:02 Dernière modification: 2023-11-14 16:49:02
Copier: 0 Nombre de clics: 762
1
Suivre
1617
Abonnés

Stratégie d’inversion du RSI à force relative

Aperçu

La RSI inversion est une stratégie de trading quantitative qui utilise le RSI, un indicateur relativement faible, pour identifier les surachats et les surventeurs et effectuer des achats et des ventes aux points de basculement. La stratégie consiste à définir les zones de surachat et de survente du RSI, à faire une pause lorsque le RSI entre dans la zone de surachat, et à faire une pause lorsque le RSI entre dans la zone de survente, afin de capturer le renversement des prix et de réaliser un profit.

Principe de stratégie

La stratégie est basée sur les principes suivants:

  1. Le RSI peut refléter si le marché est actuellement en survente ou en survente. Le RSI mesure l’intensité relative de la dynamique des bulls par rapport à la dynamique des bulls en calculant le rapport entre la hausse et la baisse moyennes sur une période donnée.

  2. Lorsque le RSI entre dans la zone de survente (généralement considéré comme survente lorsque le RSI est supérieur à 70), cela indique que la dynamique polyvalente est déjà forte. Le nombre de traders qui détiennent des positions de bullish sera plus élevé, l’espace pour continuer à bullish est limité et le prix peut continuer à baisser pour inverser le survente.

  3. Lorsque le RSI entre dans la zone de survente (généralement considéré comme étant survendu lorsque le RSI est inférieur à 30), cela indique que l’élan aérien est déjà fort, le nombre de traders qui détiennent des positions baissières sera plus élevé, l’espace pour continuer à baisser est limité et les prix peuvent continuer à monter pour inverser le survente.

  4. Par conséquent, il est possible de définir le seuil RSI de la zone d’excédent de vente à 90 et le seuil de la zone d’excédent de vente à 10 pour faire un short lorsque le RSI entre dans la zone d’excédent de vente et faire un plus lorsque le RSI entre dans la zone d’excédent de vente afin de capturer le renversement.

La logique centrale de cette stratégie est la suivante:

  1. Calculer la valeur de l’indicateur RSI en utilisant le prix de clôture comme source d’entrée pour le calcul du RSI, avec une durée de 2 cycles.

  2. Lorsque le RSI dépasse 90, cela signifie que vous entrez dans la zone de survente et que vous ouvrez une position. Lorsque le RSI dépasse 10, cela signifie que vous entrez dans la zone de survente et que vous ouvrez une position supplémentaire.

  3. Pour chaque transaction ouverte, définissez un point d’arrêt de perte. Le point d’arrêt multiple est le prix le plus bas (low) et le point d’arrêt vide est le prix le plus élevé (high).

  4. Pour chaque position ouverte, définissez un point d’arrêt de suivi. Si le RSI continue d’entrer dans une zone plus surexploitée, ajustez le point d’arrêt de suivi pour rendre la distance d’arrêt plus souple.

  5. Lorsque le RSI revient dans la zone neutre autour de 50, il est possible d’arrêter et de niveler la position.

  6. Si le renversement n’arrive pas et que la position de plus de 3 lignes K n’a pas atteint les conditions de stop loss ou de stop-loss, la position est forcée à être levée pour éviter les pertes plus importantes causées par une position excessive.

Avantages stratégiques

Les avantages de la stratégie de retournement du RSI sont les suivants:

  1. L’indicateur RSI est utilisé pour détecter les surachats et les survente. Il permet de capturer efficacement les points de retournement du marché.

  2. Les stratégies de trading inverse ont l’avantage systématique de continuer à suivre le vent. Lorsque des situations de sur-achat se produisent, il est possible de faire court à temps et de sur-vendre pour éviter d’être piégé.

  3. La stratégie d’ajout d’un mécanisme de stop-loss permet de contrôler efficacement les pertes d’une seule transaction. Même si le renversement n’est pas réussi, le stop-loss permet de contrôler les pertes dans une certaine mesure.

  4. Le tracking stop permet d’ajuster la distance de stop en fonction de la continuité du cours, ce qui garantit l’efficacité du stop et permet de tracer plus d’écart.

  5. Le blocage forcé des pertes garantit que les transactions non inversées pendant une période trop longue peuvent être liquidées et ne causent pas de pertes pour une période illimitée.

  6. Les paramètres du RSI sont réglables et peuvent être adaptés à différents marchés pour améliorer l’adaptabilité de la stratégie.

Risque stratégique

Cette stratégie comporte également des risques à prendre en compte:

  1. L’inversion du RSI est une stratégie de trading d’indicateurs techniques dont les résultats de retour peuvent présenter un risque de correspondance de la courbe. Le taux de réussite de l’inversion du RSI sur le marché réel peut être inférieur à celui des résultats de retour.

  2. Bien que le RSI puisse juger d’un surachat ou d’une survente, il est impossible de prédire le moment exact de l’inversion. Il existe un risque que les prix continuent à fonctionner sans inversion après l’adoption de cette stratégie.

  3. La zone de sur-achat et de sur-vente définie par la stratégie RSI peut être déraisonnable et, si elle est mal définie, peut entraîner un revirement manqué ou un revirement avant la rupture de la nuit précédente.

  4. Si la réversion n’atteint pas le point d’arrêt, il y a une probabilité que la réversion se produise à nouveau, ce qui peut empêcher la réversion de se produire.

  5. Le point d’arrêt est déraisonnable, trop près peut entraîner un arrêt de la perte, trop loin perd son sens.

  6. Les frais de transaction peuvent également avoir une certaine incidence sur les bénéfices.

Optimisation de la stratégie

Le RSI inverse peut également être optimisé pour:

  1. Tester différents paramètres du RSI pour trouver la combinaison optimale de paramètres, comme la longueur du RSI, les seuils de zone d’excès de vente ou de zone d’excès de vente.

  2. Ajout d’autres conditions de filtrage pour éviter le bruit de faux retournement, telles que la combinaison des indicateurs MACD pour déterminer les zones à forte probabilité de retournement.

  3. Optimiser les stratégies de stop loss, telles que le stop loss basé sur l’ATR, la distance de stop loss basée sur les fluctuations, etc.

  4. Optimiser les stratégies de stop-loss, définir des stop-loss mobiles, suivre les écarts plus importants, etc.

  5. L’ajout d’un modèle d’apprentissage automatique qui aide à la prise de décision améliore le taux de réussite de l’inversion.

  6. Tester les données de différents marchés et variétés, et ajuster les paramètres pour obtenir le meilleur résultat possible.

  7. En fonction du volume des transactions, un signal de retour est considéré uniquement si le volume des transactions est plus important.

Résumer

Dans l’ensemble, la stratégie d’inversion du RSI utilise les avantages de l’indicateur RSI pour identifier les conditions de marché de survente et de survente, et les transactions aux points de basculement peuvent générer de bons gains systémiques. Cependant, la stratégie comporte également certains risques, nécessitant des tests d’optimisation sur les paramètres RSI et la stratégie de stop loss coupon, accompagnés d’autres indicateurs de filtrage pour réduire les erreurs de transaction.

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

//@version=4
// Copyright (c) 2021-present, RicMos
//study("RSI2 Sell Strategy, overlay=true)

//------------------------------------------USER VARIABLE DEFINITIONS --------------------------------------
var float lots = 0.1
//var float fixed_commission = 0.6 // forex pairs commission  value USD per position size two sides
var float fixed_commission = 10 // BTC commission value USD per position size two sides
//var float money = 10000 //forex pairs position size
var float money = 0.3333 //BTC position size



strategy(title="RSI2 Sell Strategy", commission_type=strategy.commission.cash_per_order, calc_on_every_tick =true, commission_value = fixed_commission/2, overlay=true, default_qty_value= lots*100000, initial_capital=1000, currency = "USD", calc_on_order_fills = false)
len = input(2, minval=1, title="RSI Length")
src = input(close, "RSI Source", type = input.source)
upRsi = rma(max(change(src), 0), len)
downRsi = rma(-min(change(src), 0), len)
rsi = downRsi == 0 ? 100 : upRsi == 0 ? 0 : 100 - (100 / (1 + upRsi / downRsi))
var color buyColor = color.blue
var color sellColor = color.red


plotshape(rsi <= 10 ? low : na, title="Arrow Up", style=shape.triangleup, location=location.belowbar, size=size.tiny, color=buyColor)
plotshape(rsi >= 90 ? high : na, title="Arrow Down", style=shape.triangledown, location=location.abovebar, size=size.tiny, color=sellColor)


// long = rsi <= 10 
// var float longsl = 0
// var int long_ts_points = 0

// if long
//     longsl:= low
//     long_ts_points := 200
    
// if rsi >= 70
//     long_ts_points := 100
// else if rsi >= 80
//     long_ts_points := 80


// plot (longsl)
// var int barsPassed = 0
// barsPassed := barssince(long)
// if long
//     strategy.entry("long", long = strategy.long, qty = 10000, stop = high)
// strategy.exit("slLo", from_entry="long", stop = longsl-0.0002, trail_points = long_ts_points )
// //strategy.close("long", when = rsi[1]>=50 and rsi < 50 , comment = "rsi under 50" )
// strategy.cancel_all(barsPassed > 3  and not long)


short = rsi >= 90 
var float shortsl = 0
var int short_ts_points = 0
//var bool stClose = 0

if short
    shortsl:= high
    short_ts_points := 200
    
if rsi <= 30
    short_ts_points := 100
    //stClose :=1
else if rsi <= 20
    short_ts_points := 80 
//else
    //stClose := 0

plot (shortsl)
var int barsPassedSh = 0
barsPassedSh := barssince(short)
if short
    strategy.entry("short", long = strategy.short, qty = money, stop = low)
strategy.exit("slSh", from_entry="short", stop = shortsl, trail_points = short_ts_points, trail_offset =20 )
//strategy.close("short", comment="rsi<30", when = stClose)


//strategy.close("long", when = rsi[1]>=50 and rsi < 50 , comment = "rsi under 50" )
strategy.cancel_all(barsPassedSh > 3  and not short)