Stratégie de rupture de la fourchette RSI

Auteur:ChaoZhang est là., Date: 2023-10-11 à 15h54
Les étiquettes:

Résumé

La stratégie de rupture de la fourchette RSI est une stratégie typique de suivi de tendance.

La logique de la stratégie

La stratégie repose principalement sur l'indicateur RSI pour déterminer les niveaux de surachat et de survente sur le marché. La formule de calcul du RSI est la suivante: RSI = (Valeur moyenne de hausse / (Valeur moyenne de hausse + Valeur moyenne de baisse)) x 100. La valeur moyenne de hausse est la moyenne mobile simple des amplitudes de rapprochement au cours des N derniers jours.

Lorsque le RSI est supérieur à la ligne de surachat (défaut 80), il indique que le marché est dans un état de surachat. Lorsque le RSI est inférieur à la zone de survente (défaut 35), il indique que le marché est dans un état de survente. La stratégie recherche des opportunités courtes lorsque le RSI brise la ligne de surachat et des opportunités longues lorsque le RSI brise la zone de survente.

Plus précisément, la stratégie utilise deux lignes SMA pour déterminer la tendance de l'indicateur RSI. Lorsque la ligne SMA plus rapide brise la ligne SMA plus lente, tandis que le RSI traverse la zone de survente, allez long. Lorsque la ligne SMA plus rapide brise la ligne SMA plus lente, tandis que le RSI brise la ligne de surachat, allez court. La stratégie définit également des lignes stop loss et take profit pour contrôler les risques.

Les avantages

  • Utiliser l'indicateur RSI pour déterminer les niveaux de surachat et de survente, avec une certaine capacité de jugement de tendance
  • Combiné avec des lignes SMA doubles pour éviter les fausses ruptures causées par l'oscillation du RSI
  • Définir le stop loss et le profit pour contrôler les pertes uniques
  • Entrée par effraction, pas d'ouverture et de fermeture fréquentes

Risques et solutions

  • L'indicateur RSI a un effet de retard, peut manquer les points d'inversion de tendance
    • Régler les paramètres de l'indicateur RSI de manière appropriée pour optimiser la sensibilité de l'indicateur
  • Les réglages des zones de surachat et de survente sont incorrects, la fourchette de bénéfices est plus difficile
    • Ajustez les paramètres en fonction des différents marchés pour assurer des réglages raisonnables
  • Trop proche du point d'arrêt de la perte, facile à arrêter par les fluctuations nocturnes
    • Élargir la distance de perte d'arrêt de manière appropriée pour éviter d'être pris au piège
  • Prendre un profit trop faible, incapable de capturer pleinement les tendances
    • Ajustez la ligne de prise de bénéfices de manière flexible en fonction de la volatilité du marché

Directions d'optimisation

  • Combiner avec d'autres indicateurs pour déterminer le calendrier d'entrée, tels que KDJ, MACD, etc., afin d'éviter les problèmes de retard du RSI
  • Ajouter le jugement de la tendance majeure pour éviter de négocier contre la tendance
  • Optimiser les stratégies de stop loss et de profit, telles que le stop de trailing, le move take profit, etc.
  • Distinguer les paramètres pour différents produits, déterminer des paramètres raisonnables en fonction des caractéristiques du marché
  • Ajouter des stratégies de gestion de position, ajuster les positions en ajoutant des ordres

Résumé

La stratégie de rupture de gamme du RSI est une stratégie de suivi de tendance typique dans l'ensemble. Elle détermine les signaux de trading par l'intermédiaire de l'indicateur RSI, filtre les signaux avec des lignes de SMA doubles et définit un stop loss et un take profit pour contrôler les risques.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//strategy("Strategy RSI | Fadior", shorttitle="Strategy RSI", pyramiding=10, calc_on_order_fills=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100, overlay=false)
 
len = input(3, minval=1, title="RSI Length") 
threshLow = input(title="Treshold Low", defval=35)
threshHigh = input(title="Treshold High", defval=80)
rsiLength1 = input(title="RSI Smoothing 1", defval=3)
rsiLength2 = input(title="RSI Smoothing 2", defval=5)
SL = input(title="Stop loss %", type=float, defval=.026, step=.001)
TP = input( defval=300)

// 3 40 70 2
// 14 40 70 2 16 0.05 50

src = close
  
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

plot(sma(rsi,rsiLength2), color=orange)
plot(sma(rsi,rsiLength1), color=green)

band1 = hline(threshHigh)
band0 = hline(threshLow)
fill(band1, band0, color=purple, transp=90)

strategy = input(type=bool, title="Long only ?", defval=true)
strategy.risk.allow_entry_in(strategy ? strategy.direction.long : strategy.direction.all)

longCondition = sma(rsi,rsiLength1) < threshLow and sma(rsi,rsiLength2) > sma(rsi,rsiLength2)[1] 

if (longCondition)
    strategy.entry("Long", strategy.long) //, qty=10)
    strategy.exit("Close Long", "Long", stop=src-close*SL, profit=TP)
    
shortCondition = sma(rsi,rsiLength1) > threshHigh and sma(rsi,rsiLength2) < sma(rsi,rsiLength2)[1]
if (shortCondition)
    strategy.entry("Short", strategy.short) //, qty=10)
    strategy.exit("Close Short", "Short") //, stop=src-close*SL, profit=TP)


Plus de