Stratégie OB/OS RSI lente

Auteur:ChaoZhang est là., Date: le 28 décembre 2023 18:07:48
Les étiquettes:

img

Résumé

La stratégie OB/OS du RSI lent ouvre de nouvelles opportunités de trading en allongeant la période de rétrospective du RSI afin de réduire la fluctuation de la courbe du RSI.

La logique de la stratégie

L'idée de base de cette stratégie est d'étendre la période de rétrospective du RSI à 500 bar par défaut, puis de lisser la courbe du RSI avec une SMA de 250 bar. Cela peut réduire considérablement la fluctuation du RSI et ralentir sa vitesse de réaction, générant ainsi de nouveaux signaux de trading.

La période de rétrospective prolongée affaiblit la fluctuation du RSI, de sorte que les critères pour les niveaux de surachat et de survente doivent également être ajustés. La stratégie définit une ligne de surachat personnalisable à 52 et une ligne de survente à 48. Un signal long est déclenché lorsque le RSI lissé traverse au-dessus de la ligne de survente par le bas. Un signal court est déclenché lorsqu'il traverse en dessous de la ligne de surachat par le haut.

Les avantages

  1. Très innovant en explorant de nouvelles idées commerciales pendant de longues périodes
  2. Réduire considérablement les faux signaux et améliorer la stabilité
  3. seuils OB/OS personnalisables adaptés à différents marchés
  4. Permettre la pyramide pour améliorer la rentabilité

Les risques

  1. Perte d'opportunités à court terme en raison de longues périodes
  2. Il faut de la patience pour attendre les signaux de trading.
  3. Des paramètres de seuil OB/OS incorrects peuvent augmenter les pertes
  4. Les risques de se retrouver pris au piège

Les solutions:

  1. Réduire les périodes de manière appropriée pour augmenter la fréquence des transactions
  2. Prendre des positions partielles pour diversifier les risques
  3. Optimiser les paramètres pour s'adapter à l'évolution des conditions du marché
  4. Mettez un stop-loss pour éviter les pertes énormes

Directions d'optimisation

  1. Optimiser les paramètres du RSI pour trouver la meilleure combinaison de périodes
  2. Testez différentes périodes de lissage SMA
  3. Optimiser les paramètres OB/OS pour s'adapter aux différents marchés
  4. Ajouter des stratégies de stop loss pour contrôler les pertes uniques

Conclusion

La stratégie OB/OS Slow RSI a exploré avec succès de nouvelles idées de trading en allongeant les périodes et en utilisant la SMA pour supprimer les fluctuations.


/*backtest
start: 2023-12-20 00:00:00
end: 2023-12-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


// Wilder was a very influential man when it comes to TA. However, I'm one to always try to think outside the box. 
// While Wilder recommended that the RSI be used only with a 14 bar lookback period, I on the other hand think there is a lot to learn from RSI if one simply slows down the lookback period 
// Same applies for MACD.
// Every market has its dynmaics. So don't narrow your mind by thinking my source code input levels are the only levels that work.
// Since the long lookback period weakens the plot volatility, again, one must think outside the box when trying to guage overbought and oversold levels. 

// Good luck and don't bash me if some off-the-wall FA spurned divergence causes you to lose money.
// And NO this doesn't repaint and I won't answer those who ask. 
//@version=4

strategy("SLOW RSI OB/OS Strategy", overlay=false)
price = input(ohlc4, title="Price Source")
len = input(500, minval=1, step=5,  title="RSI Length")
smoother = input(250, minval=1, step=5, title="RSI SMA")
up = rma(max(change(price), 0), len)
down = rma(-min(change(price), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
EmaRSI = ema(rsi,smoother)
plot(EmaRSI, title="EmaRSI", style=line, linewidth=1, color=yellow)


OB = input(52, step=0.1)
OS = input(48, step=0.1)
hline(OB, linewidth=1, color=red)
hline(OS,linewidth=1, color=green)
hline(50,linewidth=1, color=gray)


long = change(EmaRSI) > 0 and EmaRSI <= 50 and crossover(EmaRSI, OS)
short = change(EmaRSI) < 0 and EmaRSI >= 50 and crossunder(EmaRSI, OB)


strategy.entry("Long", strategy.long, when=long) //_signal or long) //or closeshort_signal)
strategy.entry("Short", strategy.short, when=short) //_signal or short) // or closelong_signal)

// If you want to try to play with exits you can activate these!

//closelong = crossunder(EmaRSI, 0) //or crossunder(EmaRSI, OS)
//closeshort = crossover(EmaRSI, 0) //or crossover(EmaRSI, OB)

//strategy.close("Long", when=closelong)
//strategy.close("Short", when=closeshort)




Plus de