Stratégie d'inversion rapide du RSI

Auteur:ChaoZhang est là., Date: 2023-12-01 13:37:20 Les résultats sont publiés dans les journaux.
Les étiquettes:

imgVoici un article de référencement que j'ai écrit en fonction du code et des exigences que vous m'avez fournis, et qui contient les noms des stratégies, les aperçus, les principes stratégiques, l'analyse des avantages, l'analyse des risques, l'orientation de l'optimisation et les résumés:

Résumé

Cette stratégie est une stratégie de trading rapide de renversement du RSI qui capture principalement les opportunités de renversement lorsque le RSI est suracheté ou survendu.

La logique de la stratégie

La stratégie utilise deux indicateurs:

  1. RSI de 3 jours pour juger des niveaux de surachat et de survente.

  2. Lorsque le corps de la barre d'inversion est supérieur à la moitié du MA de 30 jours, il est utilisé comme signal d'entrée.

Règles commerciales spécifiques:

Signal long: lorsque le RSI est inférieur à la limite inférieure (défault 25) et que le corps de la barre actuelle est supérieur à la moitié de la MA de 30 jours, passez long.

Signal court: lorsque le RSI est supérieur à la limite supérieure (défault 75) et que le corps de la barre actuelle est supérieur à la moitié de la moyenne de trading à 30 jours, passez court.

Signal de sortie: lorsque les positions longues sont détenues, si le RSI dépasse la limite supérieure, ou lorsque les positions courtes sont détenues, si le RSI dépasse la limite inférieure, tandis que le corps de la barre est supérieur à la moitié de la MA de 30 jours, les positions sont fermées.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. Utiliser le RSI à court terme pour saisir rapidement les opportunités d'inversion à court terme.

  2. Augmentation de la fiabilité du signal en combinaison avec le filtre MA, évitant les pannes sur les marchés à plage.

  3. Les prélèvements sont contrôlables, le prélèvement maximum ne sera pas trop important.

  4. Des règles claires de contrôle des positions, évitant le sur-échange.

Analyse des risques

Les risques de cette stratégie comprennent:

  1. Risque de renversement manqué: le surachat et la survente ne conduisent pas nécessairement à un renversement.

  2. Risque de perte en négociant contre la tendance des marchés en évolution.

  3. Des occasions manquées en raison de règles de filtrage trop strictes.

  4. La sensibilité des paramètres est élevée, les périodes RSI et MA doivent être ajustées.

Directions d'optimisation

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

  1. Optimiser les paramètres de l'indicateur RSI pour trouver la période optimale.

  2. Optimiser les paramètres MA pour déterminer la période de filtrage optimale.

  3. Ajoutez des stratégies de stop-loss comme le stop-loss de suivi, pour contrôler les pertes d'une seule transaction.

  4. Ajouter des règles de détermination de tendance pour éviter de négocier contre tendance.

Conclusion

En conclusion, il s'agit d'une stratégie RSI axée sur l'inversion à court terme. Elle capte les inversions en identifiant rapidement les niveaux de surachat et de survente du RSI, et utilise le filtre de barre MA pour confirmer les entrées. Les avantages sont des retraits contrôlables et des contrôles de position clairs.


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

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.0", shorttitle = "Fast RSI str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
limit = input(25, defval = 25, minval = 1, maxval = 100, title = "RSI limit")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, 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
src = close
fastup = rma(max(change(src), 0), 3)
fastdown = rma(-min(change(src), 0), 3)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
uplimit = 100 - limit
dnlimit = limit

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

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up = bar == -1 and fastrsi < dnlimit and body > emabody
dn = bar == 1 and fastrsi > uplimit and body > emabody
exit = ((strategy.position_size > 0 and fastrsi > dnlimit) or (strategy.position_size < 0 and fastrsi < uplimit)) and body > emabody

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()

Plus de