
La stratégie de réponse linéaire régulière RSI bidirectionnelle est une stratégie de suivi de tendance qui utilise deux indicateurs RSI de différentes périodes de temps pour identifier les situations d’excédent et d’excédent. La stratégie est conçue pour tirer profit en faisant plus après l’excédent et en faisant moins après l’excédent.
La stratégie utilise deux indicateurs RSI de différentes périodes pour pivoter l’un sur le graphique de 5 minutes et l’autre sur le graphique d’une heure. Pour l’indicateur RSI, le niveau de survente est identifié comme inférieur à 30 et le niveau de survente comme supérieur à 70.
Il suit les valeurs du RSI en cherchant des périodes où le RSI est en zone de survente ou de survente, ce qui indique une situation de survente ou de survente de l’expansion.
En outre, il utilise des moyennes mobiles asymétriques lisse, vérifiant les lignes K rouges ou vertes d’une certaine période avant d’entrer dans une transaction pour confirmer la direction de la tendance. Les filtres de couleur d’ouverture de position aident à éviter les faux signaux.
Lorsque les conditions RSI et des moyennes mobiles sont remplies, la stratégie fait plus après avoir survendu, et plus après avoir survendu, et le prix de pari revient à la moyenne.
Il est recommandé de faire un dépôt à la fin de la journée pour éviter d’y rester la nuit.
La stratégie de réplique linéaire bi-directionnelle du RSI utilise une méthode de régularisation de la dynamique des transactions. Le but est d’identifier des opportunités de retour linéaire à forte probabilité en combinant deux périodes de temps, un indicateur de surachat et de survente, une analyse de la forme de la ligne K et un filtre d’ouverture de position. Une gestion rigoureuse des risques et un contrôle prudent des positions aident à contrôler les retraits tout en générant des bénéfices.
/*backtest
start: 2023-09-01 00:00:00
end: 2023-09-30 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Gidra
//2018
//@version=2
strategy(title = "Gidra's Vchain Strategy v0.1", shorttitle = "Gidra's Vchain Strategy v0.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 100)
//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, %")
rsiperiod = input(14, defval = 14, minval = 2, maxval = 100, title = "RSI period")
rsilimit = input(30, defval = 30, minval = 1, maxval = 50, title = "RSI limit")
rsibars = input(3, defval = 3, minval = 1, maxval = 20, title = "RSI signals")
useocf = input(true, defval = true, title = "Use Open Color Filter")
openbars = input(2, defval = 2, minval = 1, maxval = 20, title = "Open Color, Bars")
showrsi = input(true, defval = true, title = "Show indicator RSI")
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")
//Heikin Ashi Open/Close Price
o=open
c=close
h=high
l=low
haclose = (o+h+l+c)/4
haopen = na(haopen[1]) ? (o + c)/2 : (haopen[1] + haclose[1]) / 2
hahigh = max (h, max(haopen,haclose))
halow = min (l, min(haopen,haclose))
col=haopen>haclose ? red : lime
plotcandle(haopen, hahigh, halow, haclose, title="heikin", color=col)
//RSI
uprsi = rma(max(change(close), 0), rsiperiod)
dnrsi = rma(-min(change(close), 0), rsiperiod)
rsi = dnrsi == 0 ? 100 : uprsi == 0 ? 0 : 100 - (100 / (1 + uprsi / dnrsi))
uplimit = 100 - rsilimit
dnlimit = rsilimit
rsidn = rsi < dnlimit ? 1 : 0
rsiup = rsi > uplimit ? 1 : 0
//RSI condition
rsidnok = highest(rsidn, rsibars) == 1? 1 : 0
rsiupok = highest(rsiup, rsibars) == 1? 1 : 0
//Color Filter
bar = haclose > haopen ? 1 : haclose < haopen ? -1 : 0
gbar = bar == 1 ? 1 : 0
rbar = bar == -1 ? 1 : 0
openrbarok = sma(gbar, openbars) == 1 or useocf == false
opengbarok = sma(rbar, openbars) == 1 or useocf == false
//Signals
up = openrbarok and rsidnok
dn = opengbarok and rsiupok
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]
//Indicator RSI
colbg = showrsi == false ? na : rsi > uplimit ? red : rsi < dnlimit ? lime : na
bgcolor(colbg, transp = 20)
//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()