Stratégie de suivi de tendance basée sur l'indicateur RSI


Date de création: 2023-10-26 15:44:15 Dernière modification: 2023-10-26 15:44:15
Copier: 0 Nombre de clics: 689
1
Suivre
1617
Abonnés

Stratégie de suivi de tendance basée sur l’indicateur RSI

Aperçu

Cette stratégie est basée sur l’indicateur RSI. Elle est conçue comme un simple système de suivi de tendance, permettant de déterminer la direction de la tendance du marché à partir de l’indicateur RSI sur une période donnée.

Principe de stratégie

La stratégie utilise le RSI pour déterminer les tendances du marché et les zones de survente des zones de survente des zones de survente.

Tout d’abord, le RSI est calculé, puis les moyennes mobiles et l’écart-type du RSI sont calculés pour calculer la bande de Boehm. L’indicateur RSI fluctue entre 0 et 1, et la bande de Boehm est déterminée par l’écart-type de la zone de survente et de survente.

Lorsque le RSI génère un signal d’achat lorsqu’il passe de la voie inférieure à la voie supérieure, et un signal de vente lorsqu’il passe de la voie supérieure à la voie inférieure, pour réaliser le suivi de la tendance. Après l’entrée de la stratégie, ne mettez pas de stop loss et ne déposez pas jusqu’à la fin de la date spécifiée.

La stratégie utilise simplement et efficacement l’indicateur RSI pour déterminer la direction de la tendance, en plus de déterminer le moment de la transaction spécifique avec la bande de Brent. En limitant la plage de dates de transaction, les risques inutiles peuvent être évités.

Analyse des avantages

  • L’utilisation de l’indicateur RSI pour déterminer la direction de la tendance est simple et efficace
  • Les signaux de confirmation de transaction en combinaison avec les bandes de Brin évitent les fausses percées.
  • Limiter les dates de négociation pour éviter les risques de marché
  • Aucun arrêt de perte, suivi maximal de la tendance
  • Paramètres flexibles et adaptés à une variété d’environnements

Risque et optimisation

  • Les marchés risquent d’être très volatiles et de causer des pertes
  • Aucun arrêt de perte et aucune maîtrise des risques
  • Une mauvaise configuration des paramètres peut entraîner des transactions fréquentes ou des opportunités manquées

Les directions d’optimisation

  • Engagement dans une stratégie de coupe-faim et maîtrise des risques
  • Optimiser les paramètres pour améliorer le taux de victoire
  • En combinaison avec d’autres indicateurs, les signaux de filtrage évitent les fausses percées.
  • Modification dynamique de la taille de la position

Résumer

Cette stratégie est généralement une stratégie de suivi de tendance très simple et directe. En utilisant le RSI pour juger de la tendance, Brin a un filtre pour les signaux, limitant la gamme de dates de négociation, permettant de suivre efficacement la tendance et de contrôler les risques. Cependant, la stratégie peut être optimisée davantage, en gardant une base simple et efficace.

Code source de la stratégie
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Gidra
//2018

//@version=2
strategy(title = "Gidra's RSI or MFI Strategy v0.1", shorttitle = "Gidra's RSI or MFI v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 1)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
src = input(close, title="source")
lengthRSI = input(14, title="RSI or MFI length")
// RSI %B
useRSI = input(true, title="use RSI or MFI")
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")

//MFI
upper = sum(volume * (change(src) <= 0 ? 0 : src), lengthRSI)
lower = sum(volume * (change(src) >= 0 ? 0 : src), lengthRSI)
mf = rsi(upper, lower)

//RSI
rsi = useRSI?rsi(src, lengthRSI): mf

// %B
length = input(50, minval=1, title="BB length")
mult = input(1.618, minval=0.001, maxval=50)
basis = sma(rsi, length)
dev = mult * stdev(rsi, length)
upperr = basis + dev
lowerr = basis - dev
bbr = (rsi - lowerr)/(upperr - lowerr)

plot(bbr, color=black, transp=0, linewidth=2)
// band1 = hline(1, color=white, linestyle=dashed)
// band0 = hline(0, color=white, linestyle=dashed)
// fill(band1, band0, color=teal)
hline(0.5, color=white)

//Signals
up = bbr >= 0 and bbr[1] < 0
dn = bbr <= 1 and bbr[1] > 1
//exit = ((bbr[1] < 0.5 and bbr >= 0.5) or (bbr[1] > 0.5 and bbr <= 0.5))

lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

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

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