Estratégia de síntese entre múltiplos indicadores de força relativa

Autora:ChaoZhang, Data: 2024-01-02 12:06:14
Tags:

img

Resumo

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.

Estratégia lógica

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.

Forças da estratégia

  1. Melhorar a precisão das entradas com múltiplos RSI

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.

  1. 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.

  2. 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.

Riscos da Estratégia

  1. 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.

  2. 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.

  3. 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.

Orientações para a otimização

  1. 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.

  2. 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.

  3. 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.

Conclusão

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()

Mais.