Stratégie de négociation de l'indice RSI à oscillation rapide

Auteur:ChaoZhang est là., Date: 2024-01-08 11:50:38 Je vous en prie.
Les étiquettes:

img

Résumé

Il s'agit d'une stratégie de trading qui identifie les marchés oscillants à l'aide de l'indicateur RSI et capture les opportunités d'inversion de tendance pendant les oscillations du marché.

La logique de la stratégie

La stratégie repose principalement sur les principes suivants:

  1. Identifier l'action oscillante des prix en évaluant rapidement si les prix sont entrés dans la zone de surachat/survente
  2. Déterminer le moment d'entrée spécifique avec la rupture du corps du chandelier et les signaux rapides RSI
  3. Éviter les faux signaux dans les tendances non oscillantes grâce à des mécanismes à double filtre

Plus précisément, la stratégie utilise un RSI à deux périodes pour juger si les prix sont entrés dans la plage d'oscillation prédéfinie de 30 à 70. Elle exige également que le corps de la bougie franchisse 1/4 ou 1/2 de la MA avant de générer des signaux de trading.

Analyse des avantages

La stratégie présente les avantages suivants:

  1. L'indicateur RSI rapide est sensible à l'identification rapide des prix entrant/sortant de la zone d'oscillation
  2. L'analyse à double échéancier empêche les interférences du bruit du marché
  3. Le filtre à bougies assure l'entrée sur les renversements de tendance réels
  4. La fréquence moyenne des transactions empêche une survente

Analyse des risques

Il y a aussi des risques à prendre en compte:

  1. Possibilité de renversement de tendance manquante conduisant à un bénéfice insuffisant
  2. Les signaux Whipsw peuvent causer des pertes.
  3. Les paramètres mal réglés ont une incidence sur les performances de la stratégie

Pour contrôler les risques, il est recommandé d'ajuster les combinaisons de paramètres, de vérifier les transactions en direct et de mettre en place des mécanismes de stop loss.

Directions d'optimisation

Il est possible d'optimiser davantage:

  1. Intégrer d'autres signaux d'indicateur pour construire un modèle de probabilité
  2. Ajouter un module de réglage de paramètres adaptatif
  3. Augmenter le module de trading d'algo pour une exécution plus rapide des transactions

Grâce à des techniques telles que l'intégration multi-indicateurs, l'ajustement adaptatif des paramètres et le trading d'algo, la stabilité et la rentabilité de la stratégie peuvent être portées à un niveau supérieur.

Conclusion

La stratégie de trading RSI à oscillation rapide identifie les oscillations de prix et détermine le moment d'entrée via un RSI rapide et des mécanismes à double filtre.


/*backtest
start: 2023-01-07 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's FRSI Strategy v1.22", shorttitle = "FRSI str 1.22", overlay = true )

//Settings
uprsiperiod = input(2, defval = 2, minval = 2, maxval = 50, title = "RSI UP Period")
dnrsiperiod = input(9, defval = 9, minval = 2, maxval = 50, title = "RSI DN Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
sps = 0
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Fast RSI
fastup = rma(max(change(rsisrc), 0), uprsiperiod)
fastdown = rma(-min(change(rsisrc), 0), dnrsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Limits
bar = close > open ? 1 : close < open ? -1 : 0
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0

//Body
body = abs(close - open)
emabody = ema(body, 30)

//Signals
up = bar == -1 and sps == 0 and dnrsi and body > emabody / 4
dn = bar == 1 and sps == 0 and uprsi and body > emabody / 4
exit = bar == 1 and fastrsi > dnlimit and body > emabody / 2

//Trading
if up
    strategy.entry("Long", strategy.long)
    sps := 1

if exit
    strategy.close_all()
    sps := 0
    

Plus de