Tendance de l'indice de risque suivant la stratégie

Auteur:ChaoZhang est là., Date: 2023-11-07 16h33:43
Les étiquettes:

img

Résumé

Cette stratégie est conçue sur la base de l'indicateur d'indice de force relative (RSI) pour identifier les situations de surachat et de survente et suivre la tendance.

La logique de la stratégie

Cette stratégie utilise l'indicateur RSI pour identifier les conditions de surachat et de survente sur le marché.

Plus précisément, cette stratégie définit d'abord les paramètres du RSI longueur=14, suracheté=70, survendu=30. Elle calcule ensuite la valeur du RSI vrsi en fonction du prix de clôture. Lorsque vrsi traverse au-dessus de la ligne de surachat ou en dessous de la ligne de survente, elle déclenche un long ou court commerce en conséquence. Après avoir entré dans le commerce, un stop loss des ticks etoroStopTicks est défini. Les positions seront fermées lorsque le stop loss est déclenché dans la fenêtre de négociation.

De cette façon, la stratégie est en mesure de suivre la tendance majeure du marché: long dans les situations de survente et short dans les situations de surachat.

Les avantages

  • Utiliser l'indicateur RSI pour identifier les conditions de marché de surachat/survente afin de capturer la tendance
  • Fenêtre de test antérieur flexible pour tester différentes périodes de temps
  • Réglage raisonnable du stop loss pour contrôler les pertes d'une seule transaction

Les risques

  • La divergence de l'indicateur RSI peut générer de faux signaux
  • Le système de stop loss statique ne s'adapte pas aux fluctuations du marché
  • Difficile d'identifier l'inversion de tendance, peut conduire à des transactions inversées

Les solutions:

  • Ajouter des indicateurs de filtre pour éviter les entrées erronées basées sur un faux signal RSI
  • Stop loss dynamique pour suivre les mouvements du marché en temps réel
  • Ajouter des outils de jugement de tendance pour empêcher les transactions inversées

Amélioration

La stratégie peut être optimisée dans les aspects suivants:

  1. Optimiser les paramètres RSI pour une meilleure performance

Testez différentes périodes du RSI et les niveaux de surachat/survente pour trouver les paramètres optimaux et réduire les faux signaux.

  1. Ajouter des outils de jugement de tendance pour éviter les transactions contre tendance

Ajoutez MA, MACD pour juger de la direction de la tendance et éviter les mauvais signaux aux points tournants.

  1. Perte de freinage dynamique

Utilisez l'ATR pour définir un stop loss adaptatif pour mieux suivre les fluctuations du marché.

  1. Améliorer les règles d'entrée

Ajoutez d'autres conditions comme la rupture, l'augmentation du volume au signal RSI pour améliorer la précision d'entrée.

Conclusion

La stratégie capte la tendance en identifiant les situations de surachat et de survente à l'aide du RSI. Par rapport aux stratégies traditionnelles de suivi des arrêts, elle présente l'avantage de synchroniser le marché avec des indicateurs. Cependant, des problèmes tels que la divergence du RSI et l'incapacité de détecter l'inversion de tendance doivent être résolus.


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

//@version=3

strategy("RSI Etoro Strategy", overlay=true, max_bars_back=2000)
// To use:
// Capital = capital * leverage
// Slippage Ticks: 3, 5 ? (Mainly for spread)
// etoroStopTicks: Set it accordingly to the stock (to corresponds to etoro default of 50 % for exemple...)

// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 12, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 1995)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 1995)


// === FUNCTION EXAMPLE ===
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"

length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
etoroStopTicks = input( 120 )
// 120 because it is approximatively the number of ticks for default SL of 50% at x5 leverage for copper (no fee)...
price = close

vrsi = rsi(price, length)

if (not na(vrsi))
    if (crossover(vrsi, overSold))
        strategy.entry("RsiLE", strategy.long, comment="RsiLE", when = window())
    if (crossunder(vrsi, overBought))
        strategy.entry("RsiSE", strategy.short, comment="RsiSE", when = window())
strategy.exit("exit SE", "RsiSE", loss=etoroStopTicks, when = window())
strategy.exit("exit LE", "RsiLE", loss=etoroStopTicks, when = window())

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Plus de