Stratégie de trading avec plusieurs indicateurs RSI


Date de création: 2023-11-28 15:03:53 Dernière modification: 2023-11-28 15:03:53
Copier: 1 Nombre de clics: 668
1
Suivre
1617
Abonnés

Stratégie de trading avec plusieurs indicateurs RSI

Aperçu

Une stratégie de trading avec plusieurs RSI permet de suivre les tendances en utilisant plusieurs RSI en combinaison pour identifier les opportunités de trading. La stratégie utilise 1 à 5 RSI de manière flexible pour déterminer les heures d’entrée et de sortie en fonction des valeurs de l’indicateur.

Principe de stratégie

La stratégie utilise 1 à 5 indicateurs RSI sélectionnés par des paramètres d’entrée, chaque indicateur RSI pouvant être configuré indépendamment du nombre de périodes et de la limite des paramètres. Lorsque le nombre de valeurs de l’indicateur RSI est inférieur à la limite correspondante, un signal d’achat est généré. L’intensité du signal est déterminée par le nombre de périodes de l’indicateur RSI qui déclenche le signal.

Analyse des avantages

Le plus grand avantage de cette stratégie réside dans la possibilité d’évaluer simultanément plusieurs indicateurs RSI sur plusieurs cycles, de juger de la tendance et de l’opportunité de revirement à partir de plusieurs dimensions à court et à long terme, pour améliorer l’exactitude des décisions de négociation. De plus, la stratégie permet de configurer librement les paramètres de chaque indicateur RSI, qui peut être adapté à différents marchés, ce qui peut considérablement étendre l’adaptabilité de la stratégie.

Analyse des risques

Le risque principal de cette stratégie réside dans la possibilité de conflits de signaux lorsque plusieurs combinaisons d’indicateurs RSI sont jugées. Par exemple, le RSI à courte période génère un signal d’achat, mais le RSI à longue période est toujours en survente.

Direction d’optimisation

La stratégie peut envisager d’ajouter des indicateurs auxiliaires de tendance tels que les moyennes mobiles ou les bandes de Brin pour vérifier les signaux RSI et améliorer l’exactitude des jugements. En outre, on peut également envisager d’ajouter certains algorithmes d’apprentissage automatique qui utilisent des méthodes de notation multi-facteurs pour juger automatiquement la fiabilité des signaux d’entrée et de fermeture.

Résumer

Les stratégies de négociation de multiples indicateurs RSI sont globalement très innovantes, leur combinaison d’indicateurs et la flexibilité de la configuration des paramètres permettent une adaptation rapide aux changements du marché. La conception de fonctionnalités modulaires ajoutées permet également d’optimiser la stratégie.

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

//Noro
//2018
//@version=2

strategy(title = "Noro's Symphony Strategy v1.1", shorttitle = "Symphony str 1.1", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 20)

//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, %")
usersi1 = input(true, defval = true, title = "Use RSI 1")
rsiperiod1 = input(4, defval = 4, minval = 2, maxval = 100, title = "RSI 1 Period")
rsilimit1 = input(20, defval = 20, minval = 2, maxval = 50, title = "RSI 1 Limit")
usersi2 = input(true, defval = true, title = "Use RSI 2")
rsiperiod2 = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI 2 Period")
rsilimit2 = input(25, defval = 25, minval = 2, maxval = 50, title = "RSI 2 Limit")
usersi3 = input(true, defval = true, title = "Use RSI 3")
rsiperiod3 = input(14, defval = 14, minval = 2, maxval = 100, title = "RSI 3 Period")
rsilimit3 = input(30, defval = 30, minval = 2, maxval = 50, title = "RSI 3 Limit")
usersi4 = input(false, defval = false, title = "Use RSI 4")
rsiperiod4 = input(21, defval = 21, minval = 2, maxval = 100, title = "RSI 4 Period")
rsilimit4 = input(35, defval = 35, minval = 2, maxval = 50, title = "RSI 4 Limit")
usersi5 = input(false, defval = false, title = "Use RSI 5")
rsiperiod5 = input(28, defval = 28, minval = 2, maxval = 100, title = "RSI 5 Period")
rsilimit5 = input(40, defval = 40, minval = 2, maxval = 50, title = "RSI 5 Limit")
cf = input(false, defval = false, title = "Use color filter")
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")

//RSI
rsi1 = rsi(close, rsiperiod1)
rsi2 = rsi(close, rsiperiod2)
rsi3 = rsi(close, rsiperiod3)
rsi4 = rsi(close, rsiperiod4)
rsi5 = rsi(close, rsiperiod5)

//Signals
up1 = rsi1 < rsilimit1 and usersi1  
up2 = rsi2 < rsilimit2 and usersi2
up3 = rsi3 < rsilimit3 and usersi3
up4 = rsi4 < rsilimit4 and usersi4
up5 = rsi5 < rsilimit5 and usersi5

str = up5 ? 5 : up4 ? 4 : up3 ? 3 : up2 ? 2 : up1 ? 1 : str[1]
up = up1 or up2 or up3 or up4 or up5
exit = (rsi1 > rsilimit1 and str == 1) or (rsi2 > rsilimit2 and str == 2) or (rsi3 > rsilimit3 and str == 3) or (rsi4 > rsilimit4 and str == 4) or (rsi5 > rsilimit5 and str == 5)
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

//Background
col = up ? lime : na
bgcolor(col, transp = 0)

//Trading
if up and (close < open or cf == false)
    strategy.entry("Long", strategy.long, 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()