A estratégia de síntese entre múltiplos indicadores de força relativa (RSI) é uma estratégia de negociação de tempo que utiliza múltiplos RSI com períodos diferentes para negociar ações. Ele rastreia simultaneamente os indicadores RSI de 1, 2, 3, 4 e 5 períodos.
A principal razão por trás desta estratégia é rastrear simultaneamente os indicadores RSI de 1, 2, 3, 4 e 5 períodos, incluindo os RSI de 4, 7, 14, 21 e 28 períodos. Valores de limiar separados são definidos para cada um dos 5 indicadores RSI.
Por exemplo, o limiar do RSI de 4 períodos é definido como 15. Um sinal de compra é gerado quando o RSI de 4 períodos cai abaixo de 15. A estratégia verifica outros RSI para ver se eles também caem abaixo de seus próprios limiares.
Quando todos os 5 indicadores do RSI se reúnem e excedem seus próprios limiares, um sinal de venda é gerado para obter lucros.
A estratégia utiliza 5 RSI de diferentes períodos para gerar sinais de compra e venda. Um único indicador pode gerar sinal falso às vezes. No entanto, com a congregação de vários, a precisão do sinal pode ser melhorada, melhorando assim a precisão das entradas.
RSI de diferentes períodos adequados a diferentes condições de mercado
O RSI de 1, 2, 3, 4, 5 períodos usado nesta estratégia pode se adaptar às flutuações de ações de diferentes frequências. Por exemplo, o RSI de 28 períodos se adapta à negociação de longo prazo, enquanto o RSI de 4 períodos se adapta à negociação de curto prazo. Isso garante que a estratégia funcione em diferentes situações de mercado.
Estrutura de código limpa e clara
O nome da variável e a estrutura geral do código de estratégia são limpos e óbvios. O fluxo lógico para diferentes indicadores e sinais é claro. Isso torna a estratégia fácil de entender, modificar e otimizar, o que é de grande importância para estratégias quantitativas.
Inválido no mercado em tendência
A estratégia depende fortemente de sinais de sobrecompra e sobrevenda. Sua eficácia seria comprometida em um mercado de tendência ascendente ou descendente persistente. Esta é uma falha onipresente das estratégias de reversão média usando indicadores reversos.
Dificuldade na otimização de parâmetros
Uma variedade de indicadores e parâmetros de entrada existem nesta estratégia. Isso coloca imensos desafios para a otimização de parâmetros. A combinação incorreta de parâmetros pode diminuir drasticamente a eficácia da estratégia. As ferramentas de otimização devem ser utilizadas para procurar o conjunto de parâmetros que maximiza o desempenho da estratégia.
Reversões frequentes entre longo e curto
Devido à utilização de indicadores de períodos múltiplos, as alterações de posições longas e curtas na estratégia podem ser bastante frequentes, o que pode conduzir a custos mais elevados associados à negociação e a riscos relacionados com deslizamentos de preços.
Incorporar indicadores de tendência
As ferramentas de tendência como MA e BOLL podem ser adicionadas. Os sinais são tomados apenas quando as ferramentas de tendência concordam com os sinais gerados por indicadores reversos. Isso ajuda a evitar perdas em situações de tendência persistentes.
Reduzir o número de indicadores RSI
Tente diminuir o número de ferramentas RSI usadas. Isso mitiga a dificuldade na otimização de parâmetros. Experimentos manifestam que 2 a 3 indicadores já podem criar eficácia satisfatória.
Otimize os intervalos de parâmetros
Procure intervalos e combinações ideais de parâmetros e limiares do RSI usando métodos de otimização como descida de gradiente e pesquisa aleatória.
A estratégia de síntese do RSI gera sinais de negociação por sinais de congregação de múltiplos RSI com períodos diferentes. Isso melhora a precisão das entradas para realizar a negociação de tempo em ações. Apesar das vantagens herdadas do uso de múltiplos indicadores, falhas, incluindo ineficácia nos mercados de tendências e dificuldade na otimização, permanecem. Métodos como adicionar ferramentas de tendência, reduzir números de indicadores e otimização de parâmetros podem ajudar a aumentar ainda mais a robustez da estratégia.
/*backtest start: 2022-12-26 00:00:00 end: 2024-01-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Symphony v1.0", shorttitle = "Symphony 1.0", 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(15, defval = 15, 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(20, defval = 20, 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(25, defval = 25, minval = 2, maxval = 50, title = "RSI 3 Limit") usersi4 = input(true, defval = true, title = "Use RSI 4") rsiperiod4 = input(21, defval = 21, minval = 2, maxval = 100, title = "RSI 4 Period") rsilimit4 = input(30, defval = 30, minval = 2, maxval = 50, title = "RSI 4 Limit") usersi5 = input(true, defval = true, title = "Use RSI 5") rsiperiod5 = input(28, defval = 28, minval = 2, maxval = 100, title = "RSI 5 Period") rsilimit5 = input(35, defval = 35, 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 up = up1 or up2 or up3 or up4 or up5 exit = rsi1 > rsilimit1 and rsi2 > rsilimit2 and rsi3 > rsilimit3 and rsi4 > rsilimit4 and rsi5 > rsilimit5 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, needlong == false ? 0 : lot) if exit strategy.close_all()