Analyse rapide de la stratégie RSI

Auteur:ChaoZhang est là., Date: 2023-12-04 14:40:02 Je suis désolé
Les étiquettes:

img

Nom de la stratégie

Stratégie de tendance du RSI extrême bidirectionnelle

Résumé

Cette stratégie utilise l'indicateur RSI pour déterminer rapidement les tendances des prix.

Principe de stratégie

La stratégie utilise un indicateur RSI amélioré pour juger de l'état de surachat et de survente des prix, combiné à un filtrage du corps de bougie pour réduire le bruit. Il va long ou court lorsque le RSI est dans la zone de surachat ou de survente et que la taille du corps de la bougie est supérieure à 1/3 de la taille moyenne du corps.

Analyse des avantages

La stratégie réagit rapidement et peut capturer les tendances à court terme plus rapidement. Pendant ce temps, le filtrage du corps aide à réduire le bruit et à éviter d'être induit en erreur par de fausses ruptures.

Analyse des risques

La stratégie est assez sensible aux changements de prix, facilement induite en erreur par de faux signaux sur le marché. En outre, les pertes d'arrêt peuvent se déclencher fréquemment sur le marché à forte volatilité. Nous pouvons assouplir la plage de stop loss et optimiser les paramètres du RSI pour réduire la probabilité de faux signal.

Directions d'optimisation

Nous pouvons tester différents paramètres périodiques des indicateurs pour optimiser la stratégie et trouver la meilleure combinaison de paramètres.

Résumé

Dans l'ensemble, il s'agit d'une stratégie à court terme efficace et réactive. Avec une certaine optimisation des paramètres et du modèle, elle a le potentiel d'améliorer davantage la stabilité et la rentabilité. Elle mérite une recherche et un suivi continus par les traders quant.


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

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.1", shorttitle = "Fast RSI str 1.1", 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")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Source")
fromyear = input(2018, defval = 2018, 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
fastup = rma(max(change(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
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) / 3

//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