La stratégie de trading multi-indicateurs RSI identifie les opportunités de trading en combinant plusieurs indicateurs RSI pour suivre les tendances.
La stratégie permet de sélectionner de 1 à 5 indicateurs RSI à travers des paramètres d'entrée. Chaque indicateur RSI peut être configuré indépendamment avec des valeurs de période et de limite. Lorsqu'un RSI tombe en dessous de la valeur limite, un signal d'achat est déclenché. La force du signal est déterminée par la période de l'indicateur RSI déclenché, une période plus élevée signifiant un signal plus fort. Lorsque le RSI dépasse la limite, un signal de position de clôture est déclenché.
Le plus grand avantage de cette stratégie est la capacité d'évaluer plusieurs délais à l'aide de différents indices de rentabilité, en jugeant à la fois les tendances et les opportunités d'inversion à partir de dimensions longues et courtes pour améliorer la précision.
Le risque majeur réside dans les signaux contradictoires lors de la combinaison de plusieurs jugements RSI. Par exemple, un RSI plus court produit un achat tandis qu'un RSI plus long est encore survendu. Il faut s'appuyer sur l'expérience pour déterminer quel signal a la priorité.
La stratégie peut envisager d'ajouter des indicateurs d'aide à la tendance tels que des moyennes mobiles ou des bandes de Bollinger pour valider les signaux RSI et améliorer la précision.
En résumé, la stratégie de trading multi-indicateurs RSI est très innovante. Sa flexibilité dans la combinaison d'indicateurs et les paramètres la rend adaptable aux marchés en évolution. D'autres améliorations peuvent être obtenues en incorporant des algorithmes d'apprentissage automatique et plus de mesures de contrôle des risques étant donné sa conception modulaire.
/*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()